- 1
- 0
- 约5.01千字
- 约 50页
- 2017-06-13 发布于湖北
- 举报
* 令 i = 2,3,…, n, 实现整个序列的排序。 for ( i=2; i=n; ++i ) if (R[i].keyR[i-1].key) { 在 R[1..i-1]中查找R[i]的插入位置; 插入R[i] ; } * void InsertionSort ( SqList L ) { // 对顺序表 L 作直接插入排序。 for ( i=2; i=L.length; ++i ) if (L.r[i].key L.r[i-1].key) { } } // InsertSort L.r[0] = L.r[i]; // 复制为监视哨 for ( j=i-1; L.r[0].key L.r[j].key; -- j ) L.r[j+1] = L.r[j]; // 记录后移 L.r[j+1] = L.r[0]; // 插入到正确位置 * 内部排序的时间分析: 实现内部排序的基本操作有两个: (2)“移动”记录。 (1)“比较”序列中两个关键字的大小; * 对于直接插入排序: 最好的情况(关键字在记录序列中顺序有序): “比较”的次数: 最坏的情况(关键字在记录序列中逆序有序): “比较”的次数: 0 “移动”的次数: “移动”的次数: * 二、起泡排序 在实现有序性的过程中, 使用了交换的操作 * 假设在排序过程中,记录序列R[1..n]的状态为: 第 i 趟起泡排序 无序序列R[1..n-i+1] 有序序列 R[n-i+2..n] n-i+1 无序序列R[1..n-i] 有序序列 R[n-i+1..n] 比较相邻记录,将关键字最大的记录交换到 n-i+1 的位置上 起泡排序 * void BubbleSort(Elem R[ ], int n) { while (i 1) { } // while } // BubbleSort i = n; i = lastExchangeIndex; // 本趟进行过交换的 // 最后一个记录的位置 if (R[j+1].key R[j].key) { Swap(R[j], R[j+1]); lastExchangeIndex = j; //记下进行交换的记录位置 } //if for (j = 1; j i; j++) lastExchangeIndex = 1; * 注意: 2. 一般情况下,每经过一趟“起泡”,“i 减一”,但并不是每趟都如此。 例如: 2 5 5 3 1 5 7 9 8 9 i=7 i=6 for (j = 1; j i; j++) if (R[j+1].key R[j].key) … 1 3 i=2 1. 起泡排序的结束条件为, 最后一趟没有进行“交换记录”。 * 1. 双向链表 五、其它形式的链表 typedef struct DuLNode { ElemType data; // 数据域 struct DuLNode *prior; // 指向前驱的指针域 struct DuLNode *next; // 指向后继的指针域 } DuLNode, *DuLinkList; * 最后一个结点的指针域的指针又指回第一个结点的链表 a1 a2 … ... an 2. 循环链表 和单链表的差别仅在于,判别链表中最后一个结点的条件不再是“后继是否为空”,而是“后继是否为头结点”。 * 在循环链表中,头指针也可以改变到指向尾结点,这样用一个头指针就能够控制首位两端,可为有些操作带来便利。 a1 a2 … ... an * 双向循环链表 空表 非空表 a1 a2 … ... an * 双向链表的操作特点: “查询” 和单链表相同。 “插入” 和“删除”时需要同时修改两个方向上的指针。 由于前驱指针的设置,如需要前驱的位置信息时,可直接使用,避免了遍历操作的时间消耗。 * ai-1 ai e s-next = p-next; p-n
您可能关注的文档
- 产品化装饰(金螳螂)预案.ppt
- MvnexEvolis精绍分解.ppt
- mydream分解.ppt
- nakedwedding分解.ppt
- NBT47014承压设备焊接工艺评定规范分解.ppt
- 第3章命题逻辑精品.ppt
- 第3章平面机构的结构精品.ppt
- 第3章浅基础结构设计精品.ppt
- 产品经理内部培训预案.ppt
- 2025-2026学年湖南省高二(上)期末物理试卷(含答案).docx
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 心源性晕厥临床表现及护理.pptx VIP
- 食物不耐受IgG解读.pptx
- 2021 固态锂电池用固态电解质性能要求及测试方法 无机氧化物固态电解质.docx VIP
- 毕业论文(设计)小型混凝土搅拌机设计.doc VIP
- 人教版(2024)新教材八年级数学下册第20章20.1 勾股定理及其应用每课时教学设计汇编(含三个教学设计).docx VIP
- 2025CSCO前列腺癌诊疗指南更新解读(全文).pdf VIP
- 湘教版(2024)新教材八年级地理下册第六章第二节《东北地区的人口与城乡分布》精品教学设计.docx VIP
- 山西省2024年中考英语模拟试卷(含答案)2.pdf VIP
- 2025年食品安全国家标准-食品生产卫生规范GB14881培训考试试题及参考答案.docx VIP
- 语文 《红楼梦》阅读中“选择题”解题技巧阐释与训练 2024-2025学年统编版高一语文必修下册.docx VIP
原创力文档

文档评论(0)