#include <stdio.h>
#include <stdlib.h>
void quicksort(int begin,int end,int a[]);
int main(int argc, char *argv[]) {
int i,k=0;
int ar[11]={30,40,-1,3,60,70,5,10,20,50,90};
int b[11];
printf("排序之前:\n");
for(i=0;i<11;i++){
printf("%d\t",ar[i]);
}
printf("\n");
printf("排序之后:\n");
quicksort(0,10,ar);
for(i=0;i<11;i++){
printf("%d\t",ar[i]);
}
printf("\n");
for(i=0;i<11;i++){
if(ar[i]<20||ar[i]>60){
b[k]=ar[i];
k++;
//printf("k=%d\n",k);
}
}
printf("删去20-60之间的数字之后\n");
for(i=0;i<k;i++){
printf("%d\t",b[i]);
}
printf("\n");
system("pause");
return 0;
}
void quicksort(int begin,int end,int ar[]){
if(begin<end){
int i=begin;
int j=end;
int pivot=ar[begin];
int temp;
while(i!=j){
while(ar[j]<=pivot&&j>i){
j--;
}
//printf("j=%d\n",j);
//if(i!=j){
temp=ar[i];
ar[i]=ar[j];
ar[j]=temp;
//}
while(ar[i]>=pivot&&i<j){
i++;
}
//printf("i=%d\n",i);
//if(i!=j){
temp=ar[i];
ar[i]=ar[j];
ar[j]=temp;
//}
}
quicksort(begin,i-1,ar);
quicksort(i+1,end,ar);
}
}
C语言快速排序法&删除数字
最新推荐文章于 2024-04-23 22:15:00 发布