欢迎来到天天文库
浏览记录
ID:18244174
大小:47.00 KB
页数:17页
时间:2018-09-16
《已知带头结点的动态单链表l中的结点是按整数值递增排序的,编写算法将值为x的结点插入到表l中,使l仍然有序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、已知带头结点的动态单链表L中的结点是按整数值递增排序的,编写算法将值为x的结点插入到表L中,使L仍然有序//系统功能:1、已知带头结点的动态单链表L中的结点是按整数值递增排序的,编写算法将值为x的结点插入到表L中,使L仍然有序。//2、设计算法,逆置带头结点的动态链表L。要求利用原表的结点空间,并要求用尽可能少的时间完成。//3、假设有两个按元素值递增有序的线性表A和B,均以单链表作存储结构,试编写算法将A表和B表归并成一个按元素值递减有序的线性表C,并要求利用原表的空间存放C。//4、假设在长度大
2、于1的单循环链表中,既无头结点也无头指针。s为指向某个结点的指针,编写算法删除结点*s的直接前驱结点。//5、已知由单链表表示的线性表中,含有三类字符的数据元素(如:字母、数字和其它字符),设计算法构造三个以循环链表示的线性表,使每一个表中只含同一类的字符,且利用原表中的结点空间作为这三个表的空间。(头结点可以另辟空间)//6、有一双链表,每个结点中除有prior、data和next域外,还有一访问频度域freq,在链表被启用前,其值均初始化为零。每当在链表上进行一次LOCATE(L,x)运算,元素
3、值为x的结点中freq域的值增1,并使此链表中结点保持按freq递减的顺序排列,以便使频繁访问的结点总是靠近表头。设计满足上述要求的LOCATE算法并加以测试。#include#include#include#includeusingnamespacestd;typedefintStatus;typedefintElemType;typedefcharElemType1[100];typedefstructLNode{ElemT
4、ypedata;structLNode*next;}LNode,*LinkList;typedefstructLNode1{ElemType1data;//chardata[100]structLNode1*prior;structLNode1*next;intfreq;}LNode1,*LinkList1;//**********************************初始化********9/17**********************************************
5、***StatusInitList_L(LinkList&L){L=newLNode;L->next=NULL;return1;}StatusInitList_L1(LinkList1&L){L=newLNode1;L->next=NULL;return1;}//*********************************求表长**********9/17**************************************************StatusListLength_L(L
6、inkListL){LinkListp;p=L->next;//p指向第一个结点inti=0;while(p){i++;p=p->next;}returni;}//**********************************创建单链表*********9/17*************************************************voidCreateList_L(LinkList&L,int&n){inti;L=newLNode;LinkListp;L->next=
7、NULL;//先建立一个带头结点的单链表for(i=n;i>0;i--){p=newLNode;cin>>p->data;p->next=L->next;L->next=p;//插入到表头}cout<<"链表中元素排列顺序为"<data<<"";p=p->next;}cout<next=NULL;//先建
8、立一个带头结点的单链表for(i=n;i>0;i--){p=newLNode1;cin>>p->data;p->next=L->next;L->next=p;//插入到表头}cout<<"链表中元素排列顺序为"<data<<"";p=p->next;}cout<
此文档下载收益归作者所有