- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2010年高考理综试题与答案(全国卷2)
2.3 线性表的链式表示和实现;
链表是通过每个结点的指针域将线性表的n个结点按其逻辑次序链接在一起的。
每一个结点只包含一个指针域的链表,称为单链表或线性链表。
为操作方便,总是在链表的第一个结点之前附设一个头结点(头指针)head指向第一个结点。头结点的数据域可以不存储任何信息(或链表长度等信息)。; 2.3.1 线性链表;C语言中用结构指针来描述(线性表的单链表存储结构)
typedef struct LNode
{ ElemType data; /*数据域,保存结点的值 */
struct Lnode *next; /*指针域*/
}LNode,*LinkList; /*结点的类型 */;常见的指针操作;⑤ q-next=p-next ;;2.3.2 单链表的基本操作;2.3.2 单链表的基本操作;2.3.2 单链表的基本操作;2.3.2 单链表的基本操作;算法描述(算法2.10)
status LinkListDelete_ L(LinkList L, int i, ElemType e)
//在带头结点的单链表L中删除第i个元素,并由e返回其值
{
p=L; j=0;
while ( p-next ji-1)
{ p=p–next; ++j; }
if (!(p-next)||ji-1) return error;
q=p–next; p–next =q–next; free(q);
return ok;
};2.3.2 单链表的基本操作;单链表的合并
设有两个有序的单链表,它们的头指针分别是La 、 Lb,将它们合并为以Lc为头指针的有序链表。合并前的示意图如图2-4所示。;合并了值为-7,-2的结点后示意图如图2-5所示。;算法描述(算法2.12)
Void MergeList_L(LinkList La, LinkList Lb, LinkList Lc)
//已知单链线性表La和Lb的元素按非递减排列
//归并La和Lb得到新的单链线性表Lc也按值非递减排列
{
pa=La-next ; pb=Lb-next ; Lc=pc=La;
while (pa pb)
{ if (pa-data=pb-data)
{ pc-next=pa ; pc=pa ; pa=pa-next ; }
else
{ pc-next=pb ; pc=pb ; pb=pb-next ; }
}
pc-next=pa?pa:pb;
free(Lb); //释放Lb头结点
};2.3.3 循环链表; 有时,若在循环链表中设立尾指针而不设头指针,可使某些操作简化。;2.3.4 双向链表;1 双向链表的结点及其类型定义
双向链表的结点的类型定义如下。其结点形式如图2-7所示,带头结点的双向链表的形式如图2-8所示。
typedef struct Dulnode
{ ElemType data ;
struct Dulnode *prior , *next ;
}DulNode,*DulinkList ;;2.3.4 双向链表; 双向链表结构具有对称性,设p指向双向链表中的某一结点,则其对称性可用下式描述:
p-prior-next=p=p-next-prior ;
结点p的存储位置存放在其直接前趋结点p-prior的直接后继指针域中,同时也存放在其直接后继结点p-next的直接前趋指针域中。
2 双向链表的基本操作
(1) 双向链表的插入 将值为e的结点插入双向链表中。插入前后链表的变化如图2-9所示。;算法2.18
status ListInsert_Dul(DuLinkList L , int i , ElemType e)
{
if(!(p=GetElemP_Dul(L , i)))
return error;
if (!(s=(DuLinkList)malloc(sizeof(DuLNode)))) return error;
s-data=e;
s-prior=p-prior;
p-prior-next=s;
s-next=p;
p-pror=s;
return ok;
}; (2) 双
您可能关注的文档
- 2010年公务员能力测试真题与答案解析1.doc
- 2010年内蒙古自治区高等职业院校招收中等职业学校毕业生统一考试 语文课考试样卷以与答案.doc
- 2010年全国高考文综试题与答案-辽宁.doc
- 2010年北京市中小学生智能控制(单片机)竞赛规程与规则.doc
- 2010年北京市公务员行测真题与答案.doc
- 电信封路由器相关解决方法.docx
- 用批处理自动修改IP地址(转).docx
- 2010年北京市宣武区中考英语一模试题与答案.doc
- 2010年北京延庆县中考二模英语试题与答案.doc
- 2010年四川省公务员行测真题与答案(下半年).doc
- 2025中国冶金地质总局所属在京单位高校毕业生招聘23人笔试参考题库附带答案详解.doc
- 2025年01月中国人民大学文学院公开招聘1人笔试历年典型考题(历年真题考点)解题思路附带答案详解.doc
- 2024黑龙江省农业投资集团有限公司权属企业市场化选聘10人笔试参考题库附带答案详解.pdf
- 2025汇明光电秋招提前批开启笔试参考题库附带答案详解.pdf
- 2024中国能建葛洲坝集团审计部公开招聘1人笔试参考题库附带答案详解.pdf
- 2024吉林省水工局集团竞聘上岗7人笔试参考题库附带答案详解.pdf
- 2024首发(河北)物流有限公司公开招聘工作人员笔试参考题库附带答案详解.pdf
- 2023国家电投海南公司所属单位社会招聘笔试参考题库附带答案详解.pdf
- 2024湖南怀化会同县供水有限责任公司招聘9人笔试参考题库附带答案详解.pdf
- 2025上海烟草机械有限责任公司招聘22人笔试参考题库附带答案详解.pdf
文档评论(0)