- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数 据 结 构
hongxiaomi@163.com;线性表习题课;2、线性表的顺序表示和实现;(2)操作的实现;;Status LocateElem_sq(SqList L,ElemType e){
//在顺序表中查找第一个值为e的元素的位序
i=1;
p=L.elem;
while(i=L.length (*p++!=e)) ++i;
if(i=L.length) return i;
else return 0;
} //LocateElem_sq;3、线性表的单链表存储结构;(2)操作的实现;Status ListInsert_L(LinkList L, int i ,ElemType e) {
//在带头结点的单链表L中第i个位置之前插入元素e
p=L; j=0;
while(p ji-1){p=p-next;++j;} //寻找第i -1个结点
if(!p|| ji-1) return ERROR;
s=(LinkList)malloc(sizeof(Lnode));
s-data=e; s-next=p-next;
p-next=s;
return OK;
}// ListInsert_L
;Status ListDelete_L (LinkList L, int i, ElemType e) {
//在带头结点的单链表L中,删除第i个元素,并用e返回
p=L; j=0;
while(p-next ji-1){//寻找第i个结点,并令p指向其前驱
p=p-next; ++j;
}
if(!(p-next) || ji-1) return ERROR;
q=p-next; p-next=q-next;
e=q-data; free(q);
return OK;
}// ListDelete_L ;void CreateList_L(LinkList L,int n) {
//逆位序输入n个元素的值,建立带头结点的单链表
L=(LinkList)malloc (sizeof)(LNode));
L-next=NULL;
for(i=n;i0;i--){
p=(LinkList) malloc (sizeof)(LNode));
scanf(p-data);
p-next=L-next; L-next=p;
}
}// CreatList_L;Status Insert_SqList(SqList va,int x)//把x插入递增有序表va中{??if(va.length==va.listsize) return (OVERFLOW);????for(i=va.length-1;va.elem[i]xi=0;i--)???? va.elem[i+1]=va.elem[i];?? va.elem[i+1]=x; va.length++;?return OK;}//Insert_SqList ;2.14 试写一算法在带头结点的单链表结构上实现线性表操作
LENGTH(L)。;;三、习题讲解;例2、有一单链表(不带头结点)头指针为head,试设计一算法使得单链表插入x后仍递增有序。;Status Insert(Linklist head, Elemtype x){
//带头结点单链表插入x后仍递增有序
s=(LinkList)malloc(sizeof(Lnode));
s-data=x; s-next=NULL;
q=head;p=head-next;
if(p!=NULLp-datax)
{q=p; p=p-next;}
s-next=p;
q-next=s;
return OK;
}//Insert;;//算法
void reverse(SqList L){
//顺序表的就地逆置
? for(i=1,j=L.length-1;ij;i++,j--)
{
temp=L.elem[i];
L.elem[i]=L.elem[j];
L.elem[j]=temp;
}//reverse;(2)链式存储结构—单链表;void?convert(linklist?head){??
//带头结点的单链表head就地逆置???LNode??*p,???*q;??????????????p=head-next
- 软件下载与安装、电脑疑难问题解决、office软件处理 + 关注
-
实名认证服务提供商
专注于电脑软件的下载与安装,各种疑难问题的解决,office办公软件的咨询,文档格式转换,音视频下载等等,欢迎各位咨询!
原创力文档


文档评论(0)