📄 quick.c
字号:
#include<stdio.h>
void quick_sort(int[],int ,int ,int);
void main()
{
int data[20];
int size=0,i;
printf("please enter number to sort(enter 0 when end):\n");
printf("number:");
do /*要求输入数据直到输入为0*/
{
scanf("%d",&data[size]);
}while(data[size++]!=0);
for(i=0;i<60;i++)
printf("-");
printf("\n");
quick_sort(data,0,--size-1,size-1);
for(i=0;i<60;i++)
printf("-");
printf("\nSorting:");
for(i=0;i<size;i++)
printf("%d ",data[i]);
}
void quick_sort(int data[],int left,int right,int size)
{ /*left与right分别表示要排序数据两端*/
int lbase,rbase,temp,i;
if(left<right)
{
lbase=left+1;
while(data[lbase]<data[left])lbase++;
rbase=right;
while(data[rbase]>data[left])rbase--;
while(lbase<rbase) /*若lbase小于rbase,则两数据对调*/
{
temp=data[lbase];
data[lbase]=data[rbase];
data[rbase]=temp;
lbase++;
while(data[lbase]<data[left])lbase++;
rbase--;
while(data[rbase]>data[left])rbase--;
}
temp=data[left]; /*此时lbase大于rbase,则rbase的数据与第一组对调*/
data[left]=data[rbase];
data[rbase]=temp;
printf("Access:");
for(i=0;i<size;i++)
printf("%d ",data[i]);
printf("\n");
quick_sort(data,left,rbase-1,size);
quick_sort(data,rbase+1,right,size);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -