function321@16 发表于 2007-12-28 00:35

怎么链表的输出错误呢?

#include<iostream>
using namespace std;
#define OVERFLOW -2
typedef struct Lnode{//链表的结构
        int data;
        struct Lnode *next;
}Lnode,*Linklist;
void CreatList(Linklist &L,int n){//构造链表       
        Linklist p;
        int i;
        L=(Linklist)malloc(sizeof(Lnode));
        L->next=NULL;
    p=(Linklist)malloc(sizeof(Lnode));
        cout<<"请输入数据元素:"<<endl;
        for(i=0;i<n;i++)
        {cin>>p->data;
        p->next=L->next;
        L->next=p;
        }
}
void PrintList(Linklist &L,int b){//输出链表
Linklist p;
int i;
p=L->next;

for(i=1;p!=NULL&&i<=b;i++, p=p->next)
  cout<<p->data<<" ";

if(!p||i>b)
         exit(OVERFLOW);
}
int main(){//主函数
  Linklist h;
  int t;
  cout<<"请输入链表的长度:"<<endl;
  cin>>t;
  CreatList(h,t);//调用创建链表函数
  

PrintList(h,t);


return 0;

麻烦帮看看,谢谢


页: [1]

编程论坛