最新单链表的基本操作演示精品课件.ppt
《最新单链表的基本操作演示精品课件.ppt》由会员分享,可在线阅读,更多相关《最新单链表的基本操作演示精品课件.ppt(70页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Status GetElem_L(LinkList L,int i,ElemType &e) p=L-next;j=1;/ p指向指向L的首元结点,的首元结点,j是计数器是计数器 while(p&jnext;+j; if(!p|ji) return ERROR;/第第i个元素不存在个元素不存在 e=p-data;/获取第获取第i个元素个元素 return OK;/GetElem_Lzhaoli4LqiansunGetElem_L(L,3,e)获取单链表获取单链表L中第中第i个位置上的数据元素个位置上的数据元素pStatus GetElem_L(LinkList L,int i,ElemType
2、 &e) p=L-next;j=1;/ p指向指向L的首元结点,的首元结点,j是计数器是计数器 while(p&jnext;+j; if(!p|ji) return ERROR;/第第i个元素不存在个元素不存在 e=p-data;/获取第获取第i个元素个元素 return OK;/GetElem_Lzhaoli4LqiansunGetElem_L(L,3,e)获取单链表获取单链表L中第中第i个位置上的数据元素个位置上的数据元素j=3pStatus GetElem_L(LinkList L,int i,ElemType &e) p=L-next;j=1;/ p指向指向L的首元结点,的首元结点,j
3、是计数器是计数器 while(p&jnext;+j; if(!p|ji) return ERROR;/第第i个元素不存在个元素不存在 e=p-data;/获取第获取第i个元素个元素 return OK;/GetElem_Lzhaoli4LqiansunGetElem_L(L,3,e)获取单链表获取单链表L中第中第i个位置上的数据元素个位置上的数据元素j=3pStatus GetElem_L(LinkList L,int i,ElemType &e) p=L-next;j=1;/ p指向指向L的首元结点,的首元结点,j是计数器是计数器 while(p&jnext;+j; if(!p|ji) re
4、turn ERROR;/第第i个元素不存在个元素不存在 e=p-data;/获取第获取第i个元素个元素 return OK;/GetElem_Lzhaoli4LqiansunGetElem_L(L,3,e)获取单链表获取单链表L中第中第i个位置上的数据元素个位置上的数据元素j=3pStatus GetElem_L(LinkList L,int i,ElemType &e) p=L-next;j=1;/ p指向指向L的首元结点,的首元结点,j是计数器是计数器 while(p&jnext;+j; if(!p|ji) return ERROR;/第第i个元素不存在个元素不存在 e=p-data;/获
5、取第获取第i个元素个元素 return OK;/GetElem_Lzhaoli4LqiansunGetElem_L(L,3,sun)获取单链表获取单链表L中第中第i个位置上的数据元素个位置上的数据元素j=3pStatus GetElem_L(LinkList L,int i,ElemType &e) p=L-next;j=1;/ p指向指向L的首元结点,的首元结点,j是计数器是计数器 while(p&jnext;+j; if(!p|ji) return ERROR;/第第i个元素不存在个元素不存在 e=p-data;/获取第获取第i个元素个元素 return OK;/GetElem_Lzhao
6、li4LqiansunGetElem_L(L,3,sun)获取单链表获取单链表L中第中第i个位置上的数据元素个位置上的数据元素j=3pStatus ListInsert_L(LinkList &L,int i,ElemType e) p=L; j=0; while(p&jnext; +j; if(!p|ji-1) return ERROR; s=(LinkList)malloc(sizeof(LNode); s-data=e; s-next=p-next; p-next=s; return OK; /ListInsert_LzhaoLqianliLinkInsert_L(L,3,sun)在单链
7、表在单链表L的第的第i个位置前插入元素个位置前插入元素epStatus ListInsert_L(LinkList &L,int i,ElemType e) p=L; j=0; while(p&jnext; +j; if(!p|ji-1) return ERROR; s=(LinkList)malloc(sizeof(LNode); s-data=e; s-next=p-next; p-next=s; return OK; /ListInsert_LzhaoLqianliLinkInsert_L(L,3,sun)在单链表在单链表L的第的第i个位置前插入元素个位置前插入元素epStatus Li
8、stInsert_L(LinkList &L,int i,ElemType e) p=L; j=0; while(p&jnext; +j; if(!p|ji-1) return ERROR; s=(LinkList)malloc(sizeof(LNode); s-data=e; s-next=p-next; p-next=s; return OK; /ListInsert_LzhaoLqianliLinkInsert_L(L,3,sun)在单链表在单链表L的第的第i个位置前插入元素个位置前插入元素ej=0pStatus ListInsert_L(LinkList &L,int i,ElemTy
9、pe e) p=L; j=0; while(p&jnext; +j; if(!p|ji-1) return ERROR; s=(LinkList)malloc(sizeof(LNode); s-data=e; s-next=p-next; p-next=s; return OK; /ListInsert_LzhaoLqianliLinkInsert_L(L,3,sun)在单链表在单链表L的第的第i个位置前插入元素个位置前插入元素ej=0pStatus ListInsert_L(LinkList &L,int i,ElemType e) p=L; j=0; while(p&jnext; +j;
10、if(!p|ji-1) return ERROR; s=(LinkList)malloc(sizeof(LNode); s-data=e; s-next=p-next; p-next=s; return OK; /ListInsert_LzhaoLqianliLinkInsert_L(L,3,sun)在单链表在单链表L的第的第i个位置前插入元素个位置前插入元素ej=0pStatus ListInsert_L(LinkList &L,int i,ElemType e) p=L; j=0; while(p&jnext; +j; if(!p|ji-1) return ERROR; s=(LinkLi
11、st)malloc(sizeof(LNode); s-data=e; s-next=p-next; p-next=s; return OK; /ListInsert_LzhaoLqianliLinkInsert_L(L,3,sun)在单链表在单链表L的第的第i个位置前插入元素个位置前插入元素ej=1pStatus ListInsert_L(LinkList &L,int i,ElemType e) p=L; j=0; while(p&jnext; +j; if(!p|ji-1) return ERROR; s=(LinkList)malloc(sizeof(LNode); s-data=e;
12、s-next=p-next; p-next=s; return OK; /ListInsert_LzhaoLqianliLinkInsert_L(L,3,sun)在单链表在单链表L的第的第i个位置前插入元素个位置前插入元素ej=1pStatus ListInsert_L(LinkList &L,int i,ElemType e) p=L; j=0; while(p&jnext; +j; if(!p|ji-1) return ERROR; s=(LinkList)malloc(sizeof(LNode); s-data=e; s-next=p-next; p-next=s; return OK;
13、 /ListInsert_LzhaoLqianliLinkInsert_L(L,3,sun)在单链表在单链表L的第的第i个位置前插入元素个位置前插入元素ej=1Status ListInsert_L(LinkList &L,int i,ElemType e) p=L; j=0; while(p&jnext; +j; if(!p|ji-1) return ERROR; s=(LinkList)malloc(sizeof(LNode); s-data=e; s-next=p-next; p-next=s; return OK; /ListInsert_LzhaoLqianliLinkInsert_
14、L(L,3,sun)在单链表在单链表L的第的第i个位置前插入元素个位置前插入元素ej=2pStatus ListInsert_L(LinkList &L,int i,ElemType e) p=L; j=0; while(p&jnext; +j; if(!p|ji-1) return ERROR; s=(LinkList)malloc(sizeof(LNode); s-data=e; s-next=p-next; p-next=s; return OK; /ListInsert_LzhaoLqianliLinkInsert_L(L,3,sun)在单链表在单链表L的第的第i个位置前插入元素个位置
15、前插入元素ej=2pStatus ListInsert_L(LinkList &L,int i,ElemType e) p=L; j=0; while(p&jnext; +j; if(!p|ji-1) return ERROR; s=(LinkList)malloc(sizeof(LNode); s-data=e; s-next=p-next; p-next=s; return OK; /ListInsert_LzhaoLqianliLinkInsert_L(L,3,sun)在单链表在单链表L的第的第i个位置前插入元素个位置前插入元素ej=2pStatus ListInsert_L(LinkL
16、ist &L,int i,ElemType e) p=L; j=0; while(p&jnext; +j; if(!p|ji-1) return ERROR; s=(LinkList)malloc(sizeof(LNode); s-data=e; s-next=p-next; p-next=s; return OK; /ListInsert_LzhaoLqianliLinkInsert_L(L,3,sun)在单链表在单链表L的第的第i个位置前插入元素个位置前插入元素ej=2ps由系统生成一个由系统生成一个LNode型型的结点,同时将该结点的的结点,同时将该结点的起始位置赋给指针变量起始位置赋给
17、指针变量sStatus ListInsert_L(LinkList &L,int i,ElemType e) p=L; j=0; while(p&jnext; +j; if(!p|ji-1) return ERROR; s=(LinkList)malloc(sizeof(LNode); s-data=e; s-next=p-next; p-next=s; return OK; /ListInsert_LzhaoLqianliLinkInsert_L(L,3,sun)在单链表在单链表L的第的第i个位置前插入元素个位置前插入元素ej=2psunsStatus ListInsert_L(LinkLi
18、st &L,int i,ElemType e) p=L; j=0; while(p&jnext; +j; if(!p|ji-1) return ERROR; s=(LinkList)malloc(sizeof(LNode); s-data=e; s-next=p-next; p-next=s; return OK; /ListInsert_LzhaoLqianliLinkInsert_L(L,3,sun)在单链表在单链表L的第的第i个位置前插入元素个位置前插入元素ej=2psunsStatus ListInsert_L(LinkList &L,int i,ElemType e) p=L; j=
19、0; while(p&jnext; +j; if(!p|ji-1) return ERROR; s=(LinkList)malloc(sizeof(LNode); s-data=e; s-next=p-next; p-next=s; return OK; /ListInsert_LzhaoLqianliLinkInsert_L(L,3,sun)在单链表在单链表L的第的第i个位置前插入元素个位置前插入元素ej=2psunsStatus ListInsert_L(LinkList &L,int i,ElemType e) p=L; j=0; while(p&jnext; +j; if(!p|ji-
20、1) return ERROR; s=(LinkList)malloc(sizeof(LNode); s-data=e; s-next=p-next; p-next=s; return OK; /ListInsert_LzhaoLqianLinkInsert_L(L,3,sun)在单链表在单链表L的第的第i个位置前插入元素个位置前插入元素elisunStatus ListInsert_L(LinkList &L,int i,ElemType e) p=L; j=0; while(p&jnext; +j; if(!p|ji-1) return ERROR; s=(LinkList)malloc(
21、sizeof(LNode); s-data=e; s-next=p-next; p-next=s; return OK; /ListInsert_LzhaoLqianliLinkInsert_L(L,3,sun)在单链表在单链表L的第的第i个位置前插入元素个位置前插入元素esunStatus ListDelete_L(LinkList &L,int i,ElemType &e) p=L; j=0; while( p-next & jnext; +j; if(!p-next|ji-1) return ERROR; q=p-next; p-next=q-next; e=q-data; free(q
22、); return OK;/LinkDelete_LLinkDelete_L(L,3,e)删除单链表删除单链表L中第中第i个位置上的元素个位置上的元素zhaoLqianlisunpStatus ListDelete_L(LinkList &L,int i,ElemType &e) p=L; j=0; while( p-next & jnext; +j; if(!p-next|ji-1) return ERROR; q=p-next; p-next=q-next; e=q-data; free(q); return OK;/LinkDelete_L删除单链表删除单链表L中第中第i个位置上的元素个
23、位置上的元素zhaoLqianlisunLinkDelete_L(L,3,e)pStatus ListDelete_L(LinkList &L,int i,ElemType &e) p=L; j=0; while( p-next & jnext; +j; if(!p-next|ji-1) return ERROR; q=p-next; p-next=q-next; e=q-data; free(q); return OK;/LinkDelete_L删除单链表删除单链表L中第中第i个位置上的元素个位置上的元素zhaoLqianlisunLinkDelete_L(L,3,e)j=0pStatus
24、ListDelete_L(LinkList &L,int i,ElemType &e) p=L; j=0; while( p-next & jnext; +j; if(!p-next|ji-1) return ERROR; q=p-next; p-next=q-next; e=q-data; free(q); return OK;/LinkDelete_L删除单链表删除单链表L中第中第i个位置上的元素个位置上的元素zhaoLqianlisunLinkDelete_L(L,3,e)j=0pStatus ListDelete_L(LinkList &L,int i,ElemType &e) p=L
25、; j=0; while( p-next & jnext; +j; if(!p-next|ji-1) return ERROR; q=p-next; p-next=q-next; e=q-data; free(q); return OK;/LinkDelete_L删除单链表删除单链表L中第中第i个位置上的元素个位置上的元素zhaoLqianlisunLinkDelete_L(L,3,e)j=0pStatus ListDelete_L(LinkList &L,int i,ElemType &e) p=L; j=0; while( p-next & jnext; +j; if(!p-next|ji
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 单链表 基本 操作 演示 精品 课件
限制150内