📄 quick.c
字号:
#include <stdio.h>
#define MAX 100
int Init(int r[MAX]){
int i,n;
for(i=0;i<MAX;i++)
r[i]=' ';
printf("请输入有序的序列的长度:\n");
scanf("%d",&n);
printf("请按从小到大的顺序输入序列(回车确认):\n");
for(i=1;i<=n;i++)
scanf("%d",&r[i]);
return n;
}
void quick_sort(int data[MAX], int low, int high){
int i, j, pivot;
if (low < high){
pivot=data[low];
i=low;
j=high;
while(i<j){
while (i<j && data[j]>=pivot)
j--;
if(i<j)
data[i++]=data[j]; //将比枢轴记录小的记录移到低端
while (i<j && data[i]<=pivot)
i++;
if(i<j)
data[j--]=data[i]; //将比枢轴记录大的记录移到高端
}
data[i]=pivot; //枢轴记录移到最终位置
quick_sort(data,low,i-1);
quick_sort(data,i+1,high);
}
}
void Show(int r[MAX],int n){
int i;
printf("您输入的数列为:\n");
for(i=1;i<=n;i++)
printf("(%d)%d ",i,r[i]);
printf("\n");
}
void main(){
int xuli[MAX];
int n;
n=Init(xuli);
quick_sort(xuli,1,n);
Show(xuli,n);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -