源码地址 GitHub:https://github.com/GYT0313/C-DataStructure/blob/master/sortIn5.c
包括:
冒泡排序
快速排序
选择排序
插入排序
希尔排序
运行:
注意:快速排序的核心代码应该没有问题,但是不知道为什么链表长度的值MAX会跑到链表中,找了半天没找出来!!!
代码:
#include
#include
#define MAX 8 /*线性表的最大长度*/
typedef int ElemType; /*数据元素类型*/
/*顺序表类型定义*/
typedef struct
{
ElemType data[MAX];
int length; /*当前表的长度*/
} SeqList;
/* 初始化 */
SeqList *InitSeqlist()
{
SeqList *L;
L = (SeqList *)malloc(sizeof(SeqList));
L->length = 0;
return L;
}
/* 输入 */
void input(SeqList *L)
{
int i;
srand( time(NULL) );
for ( i=0; i
{
L->data[i] = rand()%100;
L->length++;
}
}
/* 输出 */
void output(SeqList *L)
{
int i;
for ( i=0; i
printf("%-4d", L->data[i]);
printf("\n\n");
}
/* 冒泡排序 O(n^2) */
void BubbleSort( SeqList *L )
{
int i, j, flag, tmp;
for ( i=1; ilength; i++ ) /* 循环N-1次 */