数据结构第2章_线性表2012秋.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构第2章_线性表2012秋2.1线性表及其逻辑结构2.2线性表的顺序存储

* 线性表基本运算实现 (1) 初始化线性表InitList(L) 该运算建立一个空的单链表,即创建一个头结点。 void InitList(LinkList *L) { L=(LinkList *)malloc(sizeof(LinkList)); /*创建头结点*/ L-next=NULL; } (4) 求线性表的长度ListLength(L) 返回单链表L中数据结点的个数。 int ListLength(LinkList *L) { LinkList *p=L; int i=0; while (p-next!=NULL) { i++; p=p-next; } return(i); } L a1 a2 头结点 an ^ …... 单链表的实现——按位查找 Int GetElem(L, i); 核心操作(关键操作):工作指针后移。从头结点(或开始结点)出发,通过工作指针的反复后移而将整个单链表“审视”一遍的方法称为扫描(或遍历)。 L a1 p a2 p an ∧ ai p p 查找成功 p 查找失败 单链表的实现——按元素值查找 P42 LocateElem(L,e) 单链表的实现———插入 操作接口: void Insert(L, i, e); 如何实现结点ai-1、e和ai之间逻辑关系的变化? p e s L a1 ai-1 an ∧ ai s=(LinkList *) malloc (sizeof(LinkList); s-data=e; s-next=p-next; p-next=s; College of Management Shanghai University 插入数据元素ListInsert(L,i,e) int ListInsert(LinkList *L,int i,ElemType e) { int j=0; LinkList *p=L,*s; while (ji-1 p!=NULL) /*查找第i-1个结点*/ { j++; p=p-next; } College of Management Shanghai University * if (p==NULL) return 0; /*未找到位序为i-1的结点*/ else /*找到位序为i-1的结点*p*/ { s=(LinkList *)malloc(sizeof(LinkList)); /*创建新结点*s*/ s-data=e; s-next=p-next; p-next=s; /*将*s插入到*p之后*/ return 1; } } 单链表的实现———删除 操作接口: ListDelete(L, i, e); p 如何实现结点ai-1和ai之间逻辑关系的变化? L a1 ai-1 ai+1 ai q=p-next; e=q-data; p-next=q-next; free(q); q College of Management Shanghai University 删除数据元素ListDelete(L,i,e) int ListDelete(LinkList *L,int i,ElemType e) { int j=0; LinkList *p=L,*q; while (ji-1 p!=NULL) /*查找第i-1个结点*/ { j++; p=p-next; } College of Management Shanghai University if (p==NULL) return 0; else /*找到位序为i-1的结点*p*/ { q=p-next; /*q指向要删除的结点*/ if (q==NULL) return 0; e = q-data; p-next=q-next; /*从单链表中删除*q结点*/ free(q); /*释放*q结点*/ return 1; } } (5). 建立单链表 假设通过一个含有n个数据的数组来建立单链

文档评论(0)

勤能补拙 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档