数据结构严蔚敏版快速排序算法c语言实现

//严蔚敏数据结构快速排序算法c语言实现
#include
typedef int InfoType; /* 定义其它数据项的类型 */
/* c10-1.h 待排记录的数据类型 */
#define MAXSIZE 20 /* 一个用作示例的小顺序表的最大长度 */
typedef int KeyType; /* 定义关键字类型为整型 */

typedef struct
{
	KeyType key; /* 关键字项 */
	InfoType otherinfo; /* 其它数据项,具体类型在主程中定义 */
}RedType; /* 记录类型 */

typedef struct
{
	RedType r[MAXSIZE+1]; /* r[0]闲置或用作哨兵单元 */
	int length; /* 顺序表长度 */
}SqList; /* 顺序表类型 */

int Partition(SqList *L,int low,int high);
int count=0;

void print(SqList L,int type)
{
	int i;
	for(i=1;i<=L.length;i++)
	{
		if(type==0)
		{
			printf("(%d,%d)",L.r[i].key,L.r[i].otherinfo);
		}else{
			printf("%d ",L.r[i].key);
		}

	}
	printf("\n");
}


/* bo10-2.c 快速排序的函数 */
//这货要默写下来。
void QSort(SqList *L,int low,int high)
{ /* 对顺序表L中的子序列L.r[low..high]作快速排序。算法10.7 */
	int pivotloc;
	if(low=pivotkey)
			--high;
		(*L).r[low]=(*L).r[high]; /* 将比枢轴记录小的记录移到低端 */
		while(low

你可能感兴趣的:(数据结构与算法,c/c++)