2线性表习题答案.docx

上传人:小飞机 文档编号:3146497 上传时间:2023-03-11 格式:DOCX 页数:4 大小:37.37KB
返回 下载 相关 举报
2线性表习题答案.docx_第1页
第1页 / 共4页
2线性表习题答案.docx_第2页
第2页 / 共4页
2线性表习题答案.docx_第3页
第3页 / 共4页
2线性表习题答案.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《2线性表习题答案.docx》由会员分享,可在线阅读,更多相关《2线性表习题答案.docx(4页珍藏版)》请在三一办公上搜索。

1、2线性表习题答案1、基于单链表写出向线性表的末尾添加一个元素的算法。 Status Insert(LinkList L,ElemType e) LinkList p,q; q=L; p=(LinkList)malloc(sizeof(LNode);/为元素开辟空间 if(p=null) return error; p-data=e; while(q-next) q=q-next;/使p指向最后一个节点 p-next=q-next;/插入p节点 q-next=p; return ok; 2、若L为有序表,基于单链表写出算法,使得向L中插入一个元素e后依然有序。 Status InsertInOr

2、der_L(LinkList &L,ElemType e) LinkList p,q,s; q=L; p=L-next s=(LinkList)malloc(sizeof(LNode);/为元素开辟空间 if(s=null) return error; s-data=e; while( p != NULL ) if( s-value = p-value ) / 找到了s该插入的位置,并且此时p,q已记录下要插入的位置 break else q = p; p = p-next; / 将s节点插入到q,p节点之间 s-next = p; q-next = s; return ok; 3、基于单链表

3、写出删除线性表尾元素的算法。 Status DeleteRear_L(LinkList &L,ElemType &e) LinkList p,q, P=L; Q=L-next; While(q-next!=null) p=q; Q=q-next; p-next=null; free(q); return ok; 4. 基于单链表写出算法,删除等于给定值的第一个元素。 Status Delete_L(LinkList &L,ElemType e) linklist p,q; If(L=null) return error Else P=L; Q=L-next; While (q!=null) I

4、f(q-data=e) break;/找到节点,提前停止循环 Else p=q; Q=q-next; If(q=null) return P-next=null; Free(q); return ok; 5. 试写一算法,实现顺序表的就地逆置,即利用原表的存储空间将线性表 Status converse_sq(sqlist &L) for(i=0;inext; L-next=NULL; while(p!=NULL) q=p; p=p-next; q-next=head-next; L-next=q; Return ok; 7.假设p指向循环链表L中某一结点,试写出删除p结点的直接前驱的算法。

5、Status Delete_L(LinkList &L) linklist s, q; s=p; while(s-next-next!=p) s=s-next; q=s-next; s-next=p; free(q); return ok; 8. 建立带表头节点的链表L ,满足用户从键盘正序位输入数据元素 Status creatlist_L(LinkList & L) elemtype k; Linklist p,q; L=(linklist)malloc(sizeof(LNode); If (!L)return error; L-next=Null; Q=l; scanf(k) While(k!=-1) P=(linklist)malloc(sizeof(LNode); If (!p)return error; p-data=k; p-next=q-next; q-next=q/q始终指向表尾 q=p; scanf(k); return ok;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备2025010119号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000987号