option for bfs
This commit is contained in:
parent
442288141d
commit
749afe3e6e
|
@ -53,7 +53,7 @@ void main(List<String> arguments) {
|
||||||
String str = "";
|
String str = "";
|
||||||
while (deistvie != 0) {
|
while (deistvie != 0) {
|
||||||
stdout.write(
|
stdout.write(
|
||||||
"1 - создать граф, 2 - удалить граф, 3 - добавить в граф вершину,\n4 - удалить вершину, 5 - добавить ребро/дугу, 6 - удалить ребро/дугу,\n7 - вывести граф на экран, 8 - вывести граф в файл, 0 - выход\nDeistvie: ");
|
"1 - создать граф, 2 - удалить граф, 3 - добавить в граф вершину,\n4 - удалить вершину, 5 - добавить ребро/дугу, 6 - удалить ребро/дугу,\n7 - вывести граф на экран, 8 - вывести граф в файл, 9 - обход в ширину,\n0 - выход\nDeistvie: ");
|
||||||
deistvie = getIntLine();
|
deistvie = getIntLine();
|
||||||
switch (deistvie) {
|
switch (deistvie) {
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -156,7 +156,7 @@ void main(List<String> arguments) {
|
||||||
stdout.write("Имя вершины: ");
|
stdout.write("Имя вершины: ");
|
||||||
String dotName = getStrLine();
|
String dotName = getStrLine();
|
||||||
|
|
||||||
stdout.write(
|
/*stdout.write(
|
||||||
"Ввод: *куда*|*вес* через пробел. Если граф не взвешенный, то *вес* можно не указывать.\nВершина cмежна с: ");
|
"Ввод: *куда*|*вес* через пробел. Если граф не взвешенный, то *вес* можно не указывать.\nВершина cмежна с: ");
|
||||||
str = getStrLine();
|
str = getStrLine();
|
||||||
|
|
||||||
|
@ -170,12 +170,12 @@ void main(List<String> arguments) {
|
||||||
inn.add(int.parse(splitted));
|
inn.add(int.parse(splitted));
|
||||||
len.add(0);
|
len.add(0);
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
printGraphsName(graphs);
|
printGraphsName(graphs);
|
||||||
stdout.write("Вставка в графа с номером: ");
|
stdout.write("Вставка в графа с номером: ");
|
||||||
int y = getIntLine();
|
int y = getIntLine();
|
||||||
if (y >= 0 && y < graphs.length) {
|
if (y >= 0 && y < graphs.length) {
|
||||||
graphs[y].addDotFromToLists(dotName, inn, len);
|
graphs[y].addIsolated(dotName);
|
||||||
} else {
|
} else {
|
||||||
print("Не найден граф с таким номером");
|
print("Не найден граф с таким номером");
|
||||||
}
|
}
|
||||||
|
@ -285,6 +285,29 @@ void main(List<String> arguments) {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 9:
|
||||||
|
{
|
||||||
|
int num = graphs.length;
|
||||||
|
printGraphsName(graphs);
|
||||||
|
stdout.write("Работаем в графе с номером: ");
|
||||||
|
int y = getIntLine();
|
||||||
|
if (y >= 0 && y < num) {
|
||||||
|
graphs[y].printG();
|
||||||
|
num = graphs[y].getDotAmount();
|
||||||
|
stdout.write("Вершина, из которой выходят: ");
|
||||||
|
int x1 = getIntLine();
|
||||||
|
stdout.write("Вершина, в которую идут: ");
|
||||||
|
int x2 = getIntLine();
|
||||||
|
if (x1 >= 0 && x1 <= num && x2 >= 0 && x2 <= num) {
|
||||||
|
print("BFS: ${graphs[y].bfsPath(x1, x2)}");
|
||||||
|
} else {
|
||||||
|
print("Не найдены введеные вершины в графе\n");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
print("Не найден граф с таким номером");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
case 0:
|
case 0:
|
||||||
getStrLine();
|
getStrLine();
|
||||||
exit(0);
|
exit(0);
|
||||||
|
|
Loading…
Reference in New Issue