数据结构2(线性结构).ppt

提纲 线性表 顺序表 链表 栈和队列 稀疏矩阵存储 排序算法 排序问题定义 输入:n个数的序列(a1,a2,…,an) 输出:输入序列的一个重排(a’1,a’2,…,a’n), 满足: a’1≤a’2≤…≤a’n 注:排序是计算机科学中最基本的操作,也是软件设计过程中最常用的技巧。 排序序列定义 不失一般性,我们假设排序序列是复合的数据,包含1个用于排序的关键字,不妨称之为“排序码(key)”。 const MAXSIZE = 20; // 假设的顺序表最大长度?  typedef struct {?   RcdType r[MAXSIZE+1];?  // r[0]闲置或作为判别标志的哨兵单元?   int length;    // 顺序表长度?  } SqList;     // 顺序表类型??其中记录类型定义为:?   typedef struct {?   KeyType key;      // 关键字项 ?   InfoType otherinfo;   // 其它数据项 ?  } RcdType; // 记录类型并设定关键字为整型 ?  typedef int KeyType; 注:可将RcdType理解为学生信息记录,key为某课程成绩,我们以考试成绩对学生排序,但是,学生信息还包含很多其他信息。 直接插入排序 从第一个元素开始,该元素可以认为已经被排序

文档评论(0)

1亿VIP精品文档

相关文档