首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

指向结构体变量的指针变量、尤其是链表概念做一个程序,求高人指教

2013-01-11 
求助 指向结构体变量的指针变量、尤其是链表概念做一个程序,求高人指教!求助 指向结构体变量的指针变量、尤

求助 指向结构体变量的指针变量、尤其是链表概念做一个程序,求高人指教!
求助 指向结构体变量的指针变量、尤其是链表概念做一个程序,求高人指教!
[解决办法]
创建链表,删除结点,输出链表

#include <iostream>
using namespace std;
class lian
{
public:
    int shu;
    lian *next;
};
int show(lian *head);
lian *chuangjian()
{
lian *head;
    lian *ls;
    lian *le;
    ls=new lian;
le=new lian;
    head=NULL;
    le=ls;  
    for(int n=0; n<10; n++)
    {
cin>>ls->shu;
        if(head==NULL)
        {
            head=ls;
head->next=le;
        }
        else
        {
            le->next=ls;
le=ls;
        }
        ls=new lian;
    }
    le->next=NULL;
    delete ls;
    return head;
}


lian *del(lian *head,int shu)
{
    lian *p1;
    lian *p2;
    p1=head;
if(head==NULL)
    {
            cout<<"链表为空,不能删除!";
            return 0;
        }
        if(head->shu==shu)
        {
            cout<<"删除第一个节点"<<endl;
            head=head->next;
            return head;
        }
    while(p1->next!=NULL&&p1->shu!=shu)
    {
p2=p1;
p1=p1->next;
}
if(p1->shu==shu)
            {
p2->next=p1->next; 
return head;
            }
return head;
}

int show(lian *head)
{
    cout<<"输出:";
    while(head)
    {
        cout<<head->shu;
        head=head->next;
    }
    return 0;
}
void main()
{
    cout<<"请输入10个数"<<endl;
    lian *head=chuangjian();
show(head);
    cout<<"你想要删除哪一个?"<<endl;
    int n;cin>>n;
    head=del(head,n);
show(head);

}

热点排行
Bad Request.