我写了两个函数,一个用于创建链表,一个用来逆序,但是debug的时候除了写问题,来看看,大牛们
我是在Vc 6.0环境下写并调试的
struct Student{Student* Next;}Student* ListCreat(int ListSpace){ Student* p1,*p2; Student* Head=NULL; int temp=ListSpace; p1=p2=new Student; while(ListSpace!=0) { if(ListSpace+1==temp)//检查是不是第一次开链表 { Head=new Student; Head->Next=p1; } { p1->Next=p2; // p2->Last=p1; p2->Next=NULL; } //开辟空间 { p1=p2; p2=NULL; p2=new Student; //准备下一次 ListSpace--; }//开辟完毕 }p2->Next=NULL; //以防万一再一次设置return Head;}Student* ConVerse(Student* a){ if(a==NULL) return NULL; Student* p1; Student* p2; p1=a->Next; a->Next=NULL; p2=p1; while(p2!=NULL) { p1=p2; p2=p1->Next; p1->Next=a; a=p1; } return p1;}int main(){ Student* a; Student* b; a=ListCreat(2); b=a; for(;a->Next!=NULL;) { cout<<a<<endl; a=a->Next; } cout<<endl; b=ConVerse(b); for(int i=0;b->Next!=NULL;i++) { cout<<b<<endl; b=b->Next; } return 0;}