资源描述:
《《数据结构》实验三报告13网二吴睿》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、江西师范大学计算机信息工程学院学生实验报告专业网络工程2班姓名吴睿学号1308093095日期2014.10.30课程名称数据结构实验室名称X4313C实验名称带头结点的单链表指导教师左正康成绩1、实验目的①理解带头结点的单链表的特点,掌握采用这种数据结构的算法设计②熟练掌握运用带头结点链表表示特定形式的数据的方法,并设计出有关算法2、实验原理和内容基丁slnklist.h文件中定义的单链表表,完成实验广9。实验:1.编写函数voiddelx(linklisthead,datatypex),删除带头结点单链表head中第
2、一个值为X的结点。2.假设线性表(al,a2,a3,…an)采用带头结点的单链表存储,请设计算法函数linklistreverse(linklisthead),将带头结点的单链表head就地倒置,使表变成(an,an-1,…a3.a2,al)。3.假设带义结点的单链表head是升序排列的,设计算法函数linklistinsert(linklisthead,datatypex),将值为x的结点插入到链表head中,并保持链表有序性。4.編写算法娥数linklistdelallx(linklisthead,intx),删除带
3、头结点年链表head屮所有值为x的结点。5.已知线性表存储在带久•结点的单链表head中,请设计算法函数voidsort(1inklisthead),将己知两个带头结点的单链表LI和L2屮的结点值均己按升序排序,没计算法函数6.linklistmergeAscend(linklistLI,linklistL2)将LI和L2合并成一个升序的带头结单链表作为函数的返回结果;设计算法函数linklistmergeDescend(linklistLI,linklistL2)将LI和L2合并成一个降序的带头结单链表作为函数的返回结
4、果head屮的结点按结点值升序排列。7.设计个算法linklistintersection(linklistLI,linklistL2),求两个单链表表/5的集合L1和L2的交集,并将结果用一个新的带头结点的单链表保存并返回表头地址。8.i吉編写一个算法函数voidpartion(linklisthead),将带头結点的苹链表head屮的所有值为奇数的结点调整到链表的前血,所有值为偶数的结点调整到链表的后面。9.编写一个程序,用尽呵能快的方法返回带失结点单链表中倒数第k个结点的地址,如果不存在,则返回NULL。3、实验步
5、骤在visualC++6.0中进行编程,调试,完成实验。4、程序及运行结果(或实验数据记录及分析)实验1:linklistdelx(linklisthead,datatypex){linklistp=head-〉next,pre=head,q;inti=0;while(p!=NULL&&i==0){if(p->info==x){q=p;p=p->next;pre->next=p;free(q);i=l;}else{pre=p;p=p->next;i=0;returnhead;实验2linklistreverse(link
6、listhead)linklistp,q;p=head->next;head->next=NULL;while(p!=NULL){q=p->next;p-〉next=head->next;head->next=p;p=q;}returnhead;青输入整数序列(空格分开,以0结束):1234560Listis:654321Listis:123456Pressanykeytocontinue实验3linklistinsert(linklisthead,datatypex){linklistp,q;q=head;p=(lin
7、klist)malloc(sizeof(node));p->info=x;while(q->next->infonext!=NULL){q=q->next;}p->next=q->next;q->next=p;returnhead;}铺At垣升列的罄数:<输入整斂庳列(空S芬开,123456780Listis:以0结束):123i胃输+要插入的值,2Listis:45678122Pressanykeytocontinue345678实验4linklistdelallx(linklisthead,intx)l
8、inklistp=head->next,pre=head,q;while(p!=NULL){if(p->info==x){q=p;p=p-〉next;pre->next=p;free(q);}else{pre=p;p=p->next;returnhead;实验5voidsort(linklisthead)//插入法排