quicksort.txt

来自「数据结构 快速排序算法 vc6.0下开发 输出每一趟的结果」· 文本 代码 · 共 58 行

TXT
58
字号
#include <stdio.h>
#define MAXSIZE 20
typedef int keyType;
typedef struct{
	keyType key;
     //float info;
}RedType;
typedef struct{
	RedType r[MAXSIZE+1];
	int length;
}SqList;

int Partition(SqList *L,int low,int high)
{
	int pivotkey,i;
	L->r [0]=L->r[low];
	pivotkey=L->r[low].key ;
	while(low<high)
	{while(low<high&&L->r[high].key>=pivotkey)--high;
	L->r[low]=L->r[high];
	while(low<high&&L->r[low].key<=pivotkey)++low; 
		L->r[high]=L->r[low];
	}
    L->r[low]=L->r[0];
	for(i=1;i<=L->length ;i++)
	printf("%4d",L->r[i].key );
	printf("\n");
	return low;
}

void QSort(SqList *L,int low,int high)
{
	int pivotkey;
	if(low<high){
		pivotkey=Partition(L,low,high);
		QSort(L,low,pivotkey-1);
		QSort(L,pivotkey+1,high);
	}
}

void QuickSort(SqList *L)
{
	QSort(L,1,L->length );

}
main()
{
    int i;
	SqList *L;
	printf("input length");
	L=(SqList *)malloc(sizeof(SqList) );
	scanf("%d",&L->length );
    for(i=1;i<=L->length ;i++)
      scanf("%d",&L->r[i].key );
    QuickSort(L);

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?