第2章之线性链表内容摘要:
位置 ,使指针 p指向 ai1 step2 申请并生成新结点 s step3 使 s插入到 ai1和 ai之间 示例 下一页 上一页 停止放映 [第 20页 /41] void Insert(LinkListamp。 head, int i, ElemType x) { if(i1) cout不存在第 i个位置。 else { LNode *p=head。 //p最终将指向第 i1个结点 int k=0。 //p目前指向第 0个结点 (头结点 ) while( p!=NULLamp。 amp。 ki1 ) { p=pnext。 k++。 } if(p==NULL) cout i超出链表最大位置。 else { LNode *s=new LNode。 //建立新结点 s sdata = x。 snext=pnext。 //定义结点 s的指针域 pnext=s。 //修改结点 p的指针域 } } } 插入算法 C++源程序 下一页 上一页 停止放映 [第 21页 /41] ( 4) 在单链表中查找数据值为 x的结点 返回指向第 i个结点的指针。 单链表查找算法操作步骤 : step1 初始化 ,指针 P指向头指针 step2 P非空且当前值不为 x的循环 step3 每循环一次 ,P后移一个位置 step4 循环结束 ,返回指向 ai的指针 P,或空指针。 下一页 上一页 停止放映 [第 22页 /41] Lnode * Find( LinkListamp。 head, ElemType x ) { LNode *p=headnext。 //p指向第一个结点 while ( p!=NULL amp。 amp。 pdata!=x ) //寻找 x循环 p = pnext。 //指针右移 if((p!=NULL)amp。 amp。 (pdata==x )) return p。 //找到了,返回地址 else return NULL。 //没找到返回空指针 } 查找算法 C++源程序 下一页 上一页 停止放映 [第 23页 /41] 其他形式的链表 链表检索只能从头指针开始 ,且只能顺链表方向移动。 在单链表中 ,从表的任一结点 ai找其前趋结点 ,时间复杂度是 O( n)。 如果让链表首尾相接,构成环形,这就是单循环链表。 链表可以从两个方向检索,效果更佳;这就是 双向循环链表。 下一页 上一页 停止放映 [第 24页 /41] 单循环链表 单循环链表表示形式: head ... head a1 a2 an 单循环链表为空的条件 : head next=head 表示形式为 : 下一页 上一页 停止放映 [第 25页 /41] 单循环链表特点 • 从表中任一结点出发 ,均可以找到表中其它结点。 • 找其前趋结点的时间复杂度是 O( n)。 下一页 上一页 停止放映 [第 26页 /41] 双向循环链表 • 在单向循环链表中,也存在检索前趋结点费时的问题(所需时间是 O( n))。 • 双向循环链表,其存储结构: typedef struct DNode { ElemType data。 //数据域 struct DNode *prior, *next。 // 指针域 } *LinkList。 下一页 上一页 停止放映 [第 27页 /41] 双向循环链表结点结构 prior data next 指向后继结点 指针域 数据域 指向前趋结点 指针域 下一页 上一页 停止放映 [第 28页 /41] 双向循环链表表示形式 双向循环链表表示形式: head head ... ...。第2章之线性链表
相关推荐
p计 算 量 : 次 3 on即 :推论 第 2章 线性代数方程组 矩阵分解 其它的三角分解 ,TTA A A L D MMLA L D L 特 别 地 , 当 为 对 称 矩 阵 时 存 在 的 分 解 式则 有 因 此 有 分 解 式 3 6no flo p计 算 量 : 3 on即 :第 2章 线性代数方程组 矩阵分解 对称正定矩阵 , TALD
,支持数据突发式传输。 主要应用在 32位微处理器组成的微型计算机系统中。 返回本节 第 2章 微型计算机的系统结构 PC/XT、 ISA、 EISA总线信号引脚的定义 图2.4 XT、ISA、EISA总线扩展槽示意图 说明: ● 代表 IS A 、 XT 总线引脚■代表 E IS A 总线引脚 D 1 G H 19 C B 1 EF 31 A第 2章 微型计算机的系统结构 表 XT、 ISA、
人口的数量和结构是在消费水平一定的条件下是影响农产品需求总量的最直接的因素。 人口的数量 人口的结构 2020/11/4 12 三、消费者偏好 消费偏好不仅受经济因素的影响,而且还受社会因素、心理因素等综合影响。 在社会生产和消费水平达到较高程度时,必须从人类学、社会学、心理学、行为学的角度来进行分析,尽管对大量偏好现象至今难以解释,但消费者偏好确实是影响农产品需要的一个重要原因。
华中科技大学远程教学 7 西方城市文化的发展历程 “神明时代”的城市文化 18世纪的意大利历史学家维科认为,人类的发展可以分为三个时代:神明时代、英雄时代和人的时代。 神明时代成为城市文化的开端。 城市文化最初是在人类崇拜神明的时代出现并发展起来的。 神明时代城市文化具有两个典型特征: ★ 是一种以 “ 神明 ” 为中心价值的文化。 ★ 代表统治阶级利益的宫廷文化是中心文化。
行 位寻址。 表 22(P21)是 SFR的名称及其分布。 其 字节地址的末位是 0H或 8H可 位寻址。 下面介绍 SFR块中的某些寄存器。 表 22 SFR的名称及其分布 1.堆栈指针 SP 指示 堆栈顶部 在 内部 RAM块 中的位置 复位后, SP中的内容为 07H。 ( 1)保护断点 ( 2)现场保护 堆栈 向上生长 2. 数据指针 DPTR 高位字节寄存器用 DPH表示
Single Dim i As Integer a = 12 r = For i=0 to 1000 a = a * (1 + r) If a = 20 Then Exit For 39。 当人口数大于等于 20亿时跳出循环 Next i Print i。 年后中国人口达到 20亿 End Sub 数组 在 Visual Basic ,把一组具有同一名字、不同下标的下标变量称为数组