64,648
社区成员
发帖
与我相关
我的任务
分享
Stack[rear++] = i; //你这里 rear ++了阿!肯定就不是了阿
//改成这样试试
cout <<[rear-1] ;
[/quote]
不好意思大神,是我代码没发全 。
//拓扑排序算法
void TopoLogicalSort(Graph *G)
{
int count = 0; //统计输出的顶点数
int gettop; //去除的顶点下标
int front = -1, rear = -1 ;
Stack = (int *)malloc(sizeof(int) * G->NumVerTex);
for(int i = 0;i < G->NumVerTex;i++)
{
if(!(G->VerTex[i].in)) //将入度为0的顶点存储在Stack栈中
{ Stack[rear++] = i; //注意:这里是从 rear+1 即Stack[0]
cout<<"rear"<<rear<<endl;}
}
Stack[rear++] = i; //你这里 rear ++了阿!肯定就不是了阿
//改成这样试试
cout <<[rear-1] ;
Stack[rear++] = i;
cout<<Stack[rear];//这里即不会是i的值,也不会是地址的值吧
//s是不是上面的i++越界了引起的垃圾值呢?
//cout <<(void*)Stack[rear];