本人小白一个,看到很多人说是lib库的问题,不知道lib是什么,也不要知道该怎么添加,求指点,谢谢。。。
不知道要不要附上程序,,下面是我的程序
#include
using namespace std;
const int MaxSize = 10;
template
class linjie{
public:
linjie(DataType W[], int n, int e);
~linjie();
void deep1(int v);
void wild1(int v);
private:
DataType vertex[MaxSize];
int ArA[MaxSize][MaxSize];
int vertexnum;
int arcnum;
};
template
linjie::linjie(DataType W[], int n, int e)
{
int i, j, k;
//cin >> n >> e; //输入顶点数和边数
vertexnum = n;
arcnum = e;
//cin >> W[MaxSize];
for (i = 0; i < vertexnum; i++)//输入顶点信息
vertex[MaxSize] = W[MaxSize];
int ArA[MaxSize][MaxSize];//初始化边
for (i = 0; i < vertexnum; i++)
{
for (j = 0; j < vertexnum; j++)
ArA[i][j] = 0;
}
for ( k = 0; k < arcnum; k++)//顶点依附的边
{
cout << "请输入依附于某一条边的两个顶点的下标:" << endl;
cin >> i >> j;
ArA[i][j] = 1; ArA[j][i] = 1;
}
}
template
void linjie::deep1(int v)
{
//int visited[MaxSize];
/*for (int i = 0; i < vertexnum; i++)
visited[i] = 0;*/
cout << vertex[v]; visited[v] = 1;
for (int j = 0; j < vertexnum; j++)
{
if (ArA[v][j]==1 && visited[j] == 0)
deep1(j);
}
}
template
void linjie::wild1(int v)
{
int Q[MaxSize];
int front = -1;
int rear = -1;
cout << vertex[v];
visited[v] = 1;
Q[++rear] = v;
while (front != rear)
{
v = Q[++front];
for (int j = 0; j < vertexnum; j++)
{
if (ArA[v][j] == 1 && visited[j] == 0)
{
cout << vertex[j]; visited[j] = 1; Q[++rear];
}
}
}
}
int visited[MaxSize] = { 0 };
int main()
{
char ch[] = { 'A', 'B', 'C', 'D', 'E' };
linjielj(ch, 5, 6);
for (int i = 0; i < MaxSize; i++)
visited[i] = 0;
cout << "深度优先遍历序列是:";
lj.deep1(0);
cout << endl;
for (int i = 0; i < MaxSize; i++)
visited[i] = 0;
cout << "广度优先遍历序列是:";
lj.wild1(0);
cout << endl;
return 0;
}