回 帖 发 新 帖 刷新版面

主题:这个程序哪里错了,高手帮帮忙啊谢谢

#define NULL 0
#include<iostream>
#include<malloc.h>
using namespace std;
typedef struct lnode
{int data;
 struct lnode *next;
}*lnode;

lnode *creatlink()
{lnode *l,*p1,*p2;
 int n=0;
 p1=p2=(lnode*)malloc(sizeof(lnode));
 cin>>p1->data;
 l=NULL;
 while(p1->data!=0)
{n=n+1;
 if(n==1)  
 l=p1; 
 else
 p2->next=p1;
 p2=p1;
 p1=(lnode*)malloc(sizeof(lnode));
 cin>>p1->data;
}
 p2->next=NULL;
 return l;
}

void printlink(lnode *l)
{lnode *p;
 p=l;
 while(p->next!=NULL)
 {p=p->next;
  cout<<p->data;
 }
}

int main()
{lnode *l;
 l=NULL;
 creatlink();
 printlink(l);
 return 0;
}

回复列表 (共1个回复)

沙发

终于搞定了,呵呵!

#define NULL 0
#include<iostream>
#include<malloc.h>
using namespace std;
typedef struct lnode
{int data;
 struct lnode *next;
}lnode;

lnode *creatlink()
{lnode *l,*p1,*p2;
 int n=0;
 p1=p2=(lnode*)malloc(sizeof(lnode));
 cin>>p1->data;
 l=NULL;
 while(p1->data!=0)
{n=n+1;
 if(n==1)  
 l=p1; 
 else
 p2->next=p1;
 p2=p1;
 p1=(lnode*)malloc(sizeof(lnode));
 cin>>p1->data;
}
 p2->next=NULL;
 return l;
}

void printlink(lnode *l)
{lnode *p;
 p=l;
 cout<<"输出链表:"<<endl;
 while(p!=NULL)
 {cout<<p->data<<" ";
  p=p->next;
 }
 cout<<endl;
}

int main()
{lnode *l;
 l=NULL;
 cout<<"创建链表(输入零结束创建链表):"<<endl;
 l=creatlink();
 printlink(l);
 return 0;
}
 

我来回复

您尚未登录,请登录后再回复。点此登录或注册