资源描述:
《数据结构实验链表》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、南昌大学实验报告学生姓名:李木子学号:8000113146专业班级:软工133实验类型:□验证□综合□设计□创新实验日期:实验成绩:一、实验项目名称链表二、实验目的学会进行以下操作1.单链表的创建与初始化2.单链表查找,插入,删除3.单链表的排序4.单链表的顺序连接三、实验基本原理四、主要仪器设备及耗材电脑,VC6.0五、实验步骤/*============================================================*//*1.单链表的创建与初始化*//*2.单链表查找,插入,删除*//*3.单链表的排序*//*4.单链表的顺序连接*//*=========
2、===================================================*/#include#include#defineMAXSZIE50typedefintdatatype;/*****************************//*定义结构体链表*//*****************************/typedefstructstruct_node{datatypeinfo;structstruct_node*next;}node;/*****************************//*函数声明
3、*//*****************************/node*init(void);node*delet(node*head,inti);node*insert(node*head,datatypex,inti);node*InsertFore(node*head,datatypey,datatypex);node*find(node*head,inti);node*FindNumber(node*head,datatypex);node*combine(node*head1,node*head2);node*Reverse(node*head);intNodeNumber(no
4、de*head);intIsSequence(node*head);voidsort(node*head);voiddisplay(node*head);/*****************************//*初始化函数*//*****************************/node*init(void){node*head;head=(node*)malloc(sizeof(node));head->next=NULL;returnhead;}/*****************************//*查找函数*//*************************
5、****/node*find(node*head,inti){node*p=NULL;intj=1;p=head->next;if(!head
6、
7、i<0)//判断参数是否错误returnNULL;elseif(i==0)//当查找的是头指针时returnhead;else{while(p&&(i!=j)){j++;p=p->next;}//while}//elseif(!p){printf("未找到第%d个元素",i);returnNULL;}returnp;}/*****************************//*查找结点值函数*//**********************
8、*******/node*FindNumber(node*head,datatypex){node*p=NULL;node*q=NULL;p=head->next;q=head;while(p){if(p->info==x)returnq;q=p;p=p->next;}returnNULL;}/*****************************//*求结点个数函数*//*****************************/intNodeNumber(node*head){node*p=NULL;inti=0;p=head->next;while(p){i++;p=p->next;
9、}returni;}/*****************************//*删除函数*//*****************************/node*delet(node*head,inti){node*p=NULL;node*q=NULL;p=find(head,i-1);//删除第i个,找到第i-1个if(!p
10、
11、!p->next)//判断查找的元素是否存在returnNU