求助 指向结构体变量的指针变量、尤其是链表概念做一个程序,求高人指教!
求助 指向结构体变量的指针变量、尤其是链表概念做一个程序,求高人指教!
[解决办法]
创建链表,删除结点,输出链表
#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);
}