#include<iostream> #include<cstdio> using namespace std; int n; struct node { long num; char name[30]; int age; node *next; }; node *creat(int n) { node *head,*pnew,*pend;//创建头结点 pnew=new node; scanf("%ld%s%d",&pnew->num,pnew->name,&pnew->age); head=pnew; pend=pnew; for(int i=1;i<n;i++) { pnew=new node; scanf("%ld%s%d",&pnew->num,pnew->name,&pnew->age); pend->next=pnew; pend=pnew; } pend->next=NULL; return head; } node *dela(node *head,int ag)//删除一个节点 { node *p1=head; node *p2=head; while(p1->age!=ag&&p1->next!=NULL) { p2=p1; p1=p1->next; } if(p1==head) { head=p1->next; return head; } else if(p1->age==ag) { p2->next=p1->next; } return head; } void prin(node *head) { node *p3=head; while(p3!=NULL) { printf("%8ld%20s%8d\n",p3->num,p3->name,p3->age); p3=p3->next; } } int main() { while(cin>>n) { node *head=creat(n); int ag; cin>>ag; head=dela(head,ag); prin(head); } return 0; }
简单链表
最新推荐文章于 2022-07-04 21:55:41 发布