⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 quicksort.txt

📁 数据结构 快速排序算法 vc6.0下开发 输出每一趟的结果
💻 TXT
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -