📄 quicksort.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 + -