回 帖 发 新 帖 刷新版面

主题: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;
        }
    }
}

回复列表 (共1个回复)

沙发


这个回复的东西还真是麻烦!
解决了
p=L->next;

我来回复

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