?? quicksort.c
字號(hào):
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SWAP(x,y,t) (t=x,x=y,y=t)
int partition(int [],int,int);
void quicksort(int [],int,int);
int main(void)
{
int i,a[30];
srand(time(NULL));
for(i=0;i<30;i++)
a[i]=rand()%100;
for(i=0;i<30;i++)
printf("%d ",a[i]);
quicksort(a,0,29);
printf("\n");
for(i=0;i<30;i++)
printf("%d ",a[i]);
printf("\n");
system("pause");
return 0;
}
int partition(int a[],int left,int right)
{
int i,j,base,tmp;
base=a[right];
j=left-1;
for(i=left;i<right;i++)
{
if(a[i]<=base)
{
j++;
SWAP(a[i],a[j],tmp);
}
}
SWAP(a[j+1],a[right],tmp);
return j+1;
}
void quicksort(int a[],int left,int right)
{
int p;
if(left<right)
{
p=partition(a,left,right);
quicksort(a,left,p-1);
quicksort(a,p+1,right);
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -