主题:C++数据结构——单链表的问题 遍历的时候有些问题
//LinkList --basic opertae
#include<iostream>
using namespace std;
typedef int Status;
typedef int ElemType;
#define OK 1
#define ERROR 0
typedef struct LNode{//define of LNode
ElemType data;
struct LNode *next;
}Lnode,*LinkList;
Status CreateList(LinkList &L,int n)//建立单链表
{
cout<<"要建立链表的数据个数:";
cin>>n;
L=new LNode();
L->next=NULL;
LinkList p;
for(int i=n;i>=1;i--)
{
p=new LNode();
cin>>p->data;
p->next=L->next;
L->next=p;
}
cout<<"建立单链表成功!"<<endl;
return OK;
}
Status PrintList(LinkList &L)//遍历单链表的数据元素
{
LinkList p;
p=L;
while(p!=NULL)
{
p=p->next;
cout<<p->data<<" ";
}
cout<<endl;
return OK;
}
void showmenu()
{
cout<<endl<<endl;
cout<<" *1: 初始化并建立单链表 *"<<endl;
cout<<" *2: 遍历链表数据 *"<<endl;
cout<<" *3: 查找数据 *"<<endl;
cout<<" *4: 插入数据 *"<<endl;
cout<<" *5: 删除数据 *"<<endl;
cout<<" *5: *"<<endl;
cout<<" *9: 离开 *"<<endl;
cout<<" *请选择....";
}
void main()//主函数
{
int select,number;
LinkList L;
while(select!=9)
{
showmenu();
cin>>select;
switch(select)
{
case 1:
CreateList(L,number);
break;
case 2:
PrintList(L);
break;
case 9:
default:
cout<<"输入错误,请重新输入!"<<endl;
break;
}
}
}