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

第七章第十题

2013-11-08 
第七章第10题#includeiostreamusing namespace std#define NULL 0struct student{long numfloat score

第七章第10题

#include<iostream>using namespace std;#define NULL 0struct student{long num;float score;struct student *next;}; int n;int main(){ student *creat (void);student *del(student*,long);student *insert(student*,student*);void print (student *);student*head,stu;long del_num;cout<<"请输入节点"<<endl;head=creat();print(head);cout<<"请输入要删除的学号";cin>>del_num;head=del(head,del_num);print(head);cout<<endl<<"输入插入的节点";cin>>stu.num>>stu.score;head=insert(head,&stu);print(head);return 0;}student*creat(void){student* head;student *p1,*p2;n=0;p1=p2=new student;cin>>p1->num>>p1->score;head=NULL;while (p1->num!=0){n=n+1;if(n==1)head=p1;else p2->next=p1;p2=p1;p1=new student;cin>>p1->num>>p1->score;}p2->next=NULL;return (head);}student*del(student*head,long num){student*p1,*p2;if (head==NULL){cout<<"空"<<endl;return (head);}p1=head;while(num!=p1->num&&p1->next!=NULL){p2=p1;p1=p1->next;}if(num==p1->num){if(p1==head)head=p1->next;else p2->next=p1->next;cout<<"删除"<<num<<endl;n=n-1;}else cout<<"不能找到"<<num;return (head);}student*insert(student*head,student*stud){student*p0,*p1,*p2;p1=head;p0=stud;if(head==NULL){head=p0;p0->next=NULL;}else {while ((p0->num>p1->num)&&(p1->next!=NULL)){p2=p1;p1=p1->next;}if(p0->num<=p1->num){if(head==p1)head=p0;else p2->next=p0;p0->next=p1;}else{p1->next=p0;p0->next=NULL;}}n=n+1;return (head);}void print(student*head){student*p;cout<<n<<endl;p=head;if(head!=NULL)do{cout<<p->num<<" "<<p->score<<endl;p=p->next;}while (p!=NULL);}

热点排行