小小动态链表

#include<iostream>
#include<string>
using namespace std;
struct stu{
int number;
string name;
struct stu*next;
};
void creat(stu*head);
void print(stu*head);
void insert(stu*head);
void del(stu*head);
void picture();
int main()
{char c=NULL;
stu *p,*head;
p=new stu;
head=p;
star:
for(;(c<'A')||(c>'E');)
{ system("cls");
  picture();
  cout<<"*       A: 新建链表  "<<endl;
  cout<<"*       B: 插入新值  "<<endl;
  cout<<"*       C: 删除表值  "<<endl;
  cout<<"*       D: 打印链表  "<<endl;
  cout<<"*       E: 释放内存  "<<endl;
cout<<"********请输入你的操作*******"<<endl;
cout<<"输入有误,请重新输入"<<endl;
c=getchar();}
switch(c)
{
case 'A': creat(p); break;
case 'B': insert(head);break;
case 'C': del(head);break;
case 'D': print(head);break;
case 'E' :{delete p;
 cout<<"按任意键退出"<<endl;
    goto end;
 break;}
}
goto star;
end:
return 0;
}
//图形
void picture()
{
for(int i=1;i<30;i++)
  cout<<'*';
  cout<<endl;
}
//创建
void creat(stu *p)
{
stu *tail;
cout<<"输入学生学号"<<endl;
cin>>p->number ;
cout<<"输入学生姓名"<<endl;
cin>>p->name ;
while(p->number!=0)
{
tail=p;
p=new stu;
tail->next =p;
cout<<"输入学生学号"<<endl;
cin>>p->number ;
if(p->number !=0)
{
   cout<<"输入学生姓名"<<endl;
   cin>>p->name ;
}
p->next =NULL;
}
}
//打印
void print(stu*head)
{
 stu *s;
    for(s=head;s!=NULL;s=s->next )
    cout<<s->name <<endl<<s->number <<endl;
}
//插入
void insert(stu*head)
{int number;
stu *p,*s;
cout<<"请指入插入位置前的学号"<<endl;
cin>>number;
for(s=head;s!=NULL;s=s->next )
if(s->number ==number)
{
p=new stu;
p->next =s->next ;
s->next=p;
cout<<"输入学生学号"<<endl;
cin>>p->number ;
cout<<"输入学生姓名"<<endl;
cin>>p->name ;
}
}
//删除
void del(stu*head)
{
int number;
stu *s;
cout<<"请指入删除位置的前一个学号"<<endl;
cin>>number;
for(s=head;s!=NULL;s=s->next )
if(s->number ==number)
s->next=s->next ->next ;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值