从某位老师的课件看到了如下的程序段。
其中第13行void ins(int x, Tnode &p),我感觉应该是void ins(int x,Tnode p)。请问大家那个是对的??
1 #include <iostream>
2 using namespace std;
3 const int maxv=10000;
4 struct Tnode{ //定义顶点类型
5 int c; //顶点编号
6 Tnode *next; //此点的邻接链表
7 };
8 //数组g表示每个顶点的邻接链表
9 //的链表头---哨兵
10 Tnode g[maxv] ;
11 int n,m,i,a,b;
12 Tnode *t;
13 void ins(int x, Tnode &p)
14 { //插入链表子过程
15 t=new(Tnode); t->c=x;
16 t->next=p.next;
17 p.next=t;
18 }
19 int main() {
20 cin >> n >> m;
21 //初始化邻接链表“哨兵”
22 for(i=1; i<=n; i++)
23 g[i].next=NULL;
24 for(i=0; i<m; i++)
25 { //读入边,插入邻接链表
26 cin>>a>>b;
27 ins(b,g[a]);
28 // ins(a,g[b]);//无向边时
29 }//…
老师是对的,为什么的话,自己调试一下