链表
来源:互联网 发布:找淘宝推广团队合作 编辑:程序博客网 时间:2024/05/22 14:47
#include<stdio.h>#include<malloc.h>#define NULL 0#define LEN sizeof(struct student)struct student{long num;float score;struct student *next;};int n;struct student *creat(void)//链表的创建{struct student *head;struct student *p1,*p2;n=0;p1=p2=(struct student*)malloc(LEN);scanf("%ld,%f",&p1->num,&p1->score);head=NULL;while(p1->num!=0){n++;if(n==1)head=p1;else p2->next=p1;p2=p1;p1=(struct student*)malloc(LEN);scanf("%ld,%f",&p1->num,&p1->score);}p2->next=NULL;return head;} int print(struct student *head)//链表的输出{struct student *p;printf("\nNow ,These %d records are:\n",n);p=head;if(head!=NULL)do{printf("%ld,%5.1f\n",p->num,p->score);p=p->next;}while(p!=NULL);}struct student *del(struct student *head,long num)//链表的删除{struct student *p1,*p2;if(head==NULL){printf("\nlist null!\n");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;elsep2->next=p1->next;printf("delete:%ld\n",num);n=n-1;}elseprintf("%ld not been found!\n",num);return head;}struct student *insert(struct student *head,struct student *stud)//链表的插入{struct 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;elsep2->next=p0;p0->next=p1; }else{p1->next=p0;p0->next=NULL;}}n++;return head;}int main(){struct student *head ,*stu;long del_num;printf("input records:\n");head=creat();print(head);printf("\ninput the deleted number:");scanf("%ld",&del_num);while(del_num!=0){head=del(head,del_num); print(head); printf("\ninput the deleted number:"); scanf("%ld",&del_num);}printf("\ninput the inserted record:");stu=(struct student *)malloc(LEN);scanf("%ld,%f",&stu->num,&stu->score);while(stu->num!=0){head=insert(head,stu); print(head); printf("\ninput the inserted record:"); stu=(struct student *)malloc(LEN); scanf("%ld,%f",&stu->num,&stu->score);}}
0 0
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- Eclipse Android 开发界面介绍
- 多继承构造顺序
- keepalived
- JSP九大内置对象之【request和response】
- 利用Hibernate进行简单的增删改查(未使用JPA注解,以Oracle为例)
- 链表
- Maven集成Tomcat7插件
- 小白日记23:kali渗透测试之提权(三)--WCE、fgdump、mimikatz
- 手机APP开发(安卓、IOS)logo图标在线生成工具上线啦
- 关于一行或多行文本省略号和居中显示
- new和malloc的区别
- Maven环境搭建及介绍
- JS跨越问题解决方法
- win7 64位 python3.5安装scrapy问题解决