?? maxst.h
字號:
#ifndef MAXST_H
#define MAXST_H
#include "GraphM.h"
void MaxST(Graph* G, int& s, Graph* max)
{
int *V;
V = new int(G->n());
int *D;
D = new int[G->n()];
for (int i = 0; i < G->n(); i++)
{
D[i] = 0;
V[i] = 0;
}
int d;
G->setMark(s, VISITED);
d = s;
D[d] = 0;
for (int j = 0; j < G->n(); j++)
if (G->getMark(j) == UNVISITED && D[j] < G->weight(d, j))
{
D[j] = G->weight(d, j);
V[j] = d;
}
int k;
for (i = 1; i < G->n(); i++)
{
k = 0;
for (j = 0; j < G->n(); j++)
if (D[k] < D[j])
k = j;
G->setMark(k, VISITED);
max->setEdge(V[k], k, G->weight(V[k], k));
d = k;
D[d] = 0;
for (j = 0; j < G->n(); j++)
if (G->getMark(j) == UNVISITED && D[j] < G->weight(d, j))
{
D[j] = G->weight(d, j);
V[j] = d;
}
}
cout << max->e() << endl;
}
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -