- 1、本文档共85页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构chp4课件
单链表 (Singly Linked List)
循环链表 (Circular List)
多项式
稀疏矩阵
双向链表 (Doubly Linked List)
;单链表 (Singly Linked List);单链表的存储映像;单链表的类定义; class List; //复合类定义
class ListNode { //链表结点类
friend class List; //链表类为其友元类
private:
int data; //结点数据, 整型
ListNode *link; //结点指针
};
class List { //链表类
public:
//链表公共操作
………
private:
ListNode *first, *last; //表头和表尾指针
};;class List { //链表类定义(嵌套方式)
public:
//链表操作
………
private:
class ListNode { //嵌套链表结点类
public:
int data;
ListNode *link;
};
ListNode *first, *last; //表头和表尾指针
};;单链表中的插入与删除;; 第三种情况:在链表末尾插入
newnode→link = p→link;
p→link = last = newnode;
;int List::Insert ( const int x, const int i ) {
//在链表第 i 个结点处插入新元素 x
Node *p = first; int k = 0;
while ( p != NULL k i -1 )
{ p = p→link; k++; } //找第i-1个结点
if ( p == NULL first != NULL ) {
cout “Invalid position for
Insertation!\n”; return 0;
}
Node *newnode= new Node(x, NULL);
//创建新结点,其数据为x,指针为0; if ( first == NULL || i == 0 )
{ //插在表前
newnode→link = first;
if ( first == NULL ) last = newnode;
first = newnode;
}
else { //插在表中或末尾
newnode→link = p→link;
if ( p→link == NULL ) last = newnode;
p→link = newnode;
}
return 1;
};删除
第一种情况: 删除表中第一个元素
第二种情况: 删除表中或表尾元素
;int List::Remove ( int i ) {
//在链表中删除第i个结点
Node *p = first, *q; int k = 0;
while ( p != NULL k i-1 )
{ p = p→link; k++; } //找第i-1个结点
if ( p == NULL || p-link==NULL ) {
cout “Invalid position for Deletion!\n”;
return 0;
} ; if ( i == 0 ) { //删除表中第1个结点
q = first; //q保存被删结点地址
p = first = first→link; //修改first
}
else { //删除表中或表尾元素
q = p→link;
您可能关注的文档
- 数学:山东省滨州市邹平实验中学《10.1统计调查(第1课时)》(七年级)课件.ppt
- 数学:4.1平面直线位置关系-4.1.1平行、相交、重合1(湘教版七年级下)课件.ppt
- 数据仓库和数据挖掘 2-2课件.ppt
- 数据分布特征描述课件.ppt
- 数据仓库和数据挖掘习题课6.3课件.ppt
- 数据仓库SQL优化课件.ppt
- 数据分析——数据波动课件.ppt
- 数学:3.3平面直线位置关系-3.3.2相交直线所成角1(湘教版七年级下)课件.ppt
- 数据分析和图表呈现原则、方法和样式课件.ppt
- 数据分析过程-SPSS软件使用课件.ppt
- 2025年全球氢能产业发展报告.pptx
- 2025年的全球核聚变产业(英).pptx
- 港口无人驾驶行业深度报告:奇点已至,蓝海启航.pptx
- 全球及中国电动缸(电动执行机构)行业运营现状及需求潜力预测报告2025-2030年.docx
- 全球及中国电力机器人行业发展格局与前景动向研究报告2025-2030年.docx
- 全球及中国生物科研试剂行业发展趋势及前景规模预测报告2025-2030年.docx
- 全球及中国机场特种车辆行业现状调查与投资方向分析报告2025-2030年.docx
- 全球及中国三氟化氮(NF3)行业发展趋势与投资前景策略分析报告2025-2030年.docx
- 中国CCS集成母排行业发展形势与前景动态研究报告2025-2030年.docx
- 全球及中国加固计算机行业发展格局与投资前景策略分析报告2025-2030年.docx
文档评论(0)