本文整理汇总了C++中Graph::Insert方法的典型用法代码示例。如果您正苦于以下问题:C++ Graph::Insert方法的具体用法?C++ Graph::Insert怎么用?C++ Graph::Insert使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Graph
的用法示例。
在下文中一共展示了Graph::Insert方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main()
{
int M;
while (scanf("%d\n", &M) && M != 0)
{
string str_src, str_dst;
unordered_map< string, int > Language;
Graph G;
Dictionary::index_counter = 0;
cin >> str_src >> str_dst;
Dictionary::InsertLanguage(Language, str_src);
Dictionary::InsertLanguage(Language, str_dst);
for (int i = 0; i < M; ++i)
{
string a, b, word;
cin >> a >> b >> word;
Dictionary::InsertLanguage(Language, a);
Dictionary::InsertLanguage(Language, b);
G.Insert(Language[a], Language[b], word);
}
int res = Dijkstra(G, Language[str_src], Language[str_dst]);
if (res == INF)
printf("impossivel\n");
else
printf("%d\n", res);
}
}
示例2: main
void main()
{
setlocale(LC_CTYPE, "Russian");
cout << "Введите количество вершин:" << endl;
int n;
cin >> n;
cout << "Введите количество рёбер" << endl;
int m;
cin >> m;
Graph<T> *graph = new Graph<T>(n, m);
T *P = new T[n];
int type;
cout << "Выберите тип ввода" << endl << "1. Ввод случайным образом" << endl << "2. Ручной ввод" << endl;
cin >> type;
switch (type)
{
case 1:
{
cout << "Введите минимальное и максимальное значение веса ребра" << endl;
T min, max;
cin >> min;
cin >> max;
graph->CreateGraph(min, max);
break;
}
case 2:
{
for (int i = 0; i<m; i++)
{
cout << "Введите номер начальной вершины, конечной и вес для каждого ребра" << endl;
int f, t;
T w;
cin >> f;
cin >> t;
cin >> w;
graph->Insert(f, t, w);
}
break;
}
}
system("cls");
cout << "Граф: " << endl << endl;
graph->Print();
cout << "Введи точку входа:" << endl;
int a;
cin >> a;
for (int i = 0; i <= n; i++) // fixed
P[i] = a;
T *dist = Algorithm<T>::Dijkstra(a, P, graph);
cout << "Итог: " << endl << endl;
for (int i = 0; i<n; i++)
cout << i << ' ';
cout << "Вершины " << endl << endl;
for (int i = 0; i < n; i++)
if (dist[i] == MaxSize)
cout << 0 << ' ';
else
cout << dist[i] << ' ';
cout << "Кратчайшие пути " << endl << endl;
for (int i = 0; i<n; i++)
cout << P[i] << ' ';
cout << "Предыдущие вершины " << endl << endl;
}