9.2.3 排序用到的结构与函数
为了讲清楚排序算法的代码,我先提供一个用于排序用的顺序表结构,此结构也将用于之后我们要讲的所有排序算法。 - #define MAXSIZE 10 /* 用于要排序数组个数最大值,可根据需要修改 */
- typedef struct
- {
- int r[MAXSIZE+1]; /* 用于存储要排序数组,r[0]用作哨兵或临时变量 */
- int length; /* 用于记录顺序表的长度 */
- }SqList;
另外,由于排序最最常用到的操作是数组两元素的交换,我们将它写成函数,在之后的讲解中会大量的用到。 - /* 交换L中数组r的下标为i和j的值 */
- void swap(SqList *L,int i,int j)
- {
- int temp=L->r[i];
- L->r[i]=L->r[j];
- L->r[j]=temp;
- }
好了,说了这么多,我们来看第一个排序算法。
|