快速排序算法,支招 经典算法-快速排序算法

  一个快速排序算法 输入10个数

  代码如下:

  #include

  #define N 10

  int a[N];

  void quickSort(int *arr,int l,int r)

  {//此处编写代码实现快速排序

  int i,j,x,temp;

  if(l

  {

  i=l;

  j=r;

  x=arr[(l+r)/2]; //以中间元素为轴

  while(1)

  {

  while(i<=r&&arr[i]

  while(j>=0&&arr[j]>x)j–;

  if(i>=j) //相遇则跳出

  break;

  else

  {

  temp=arr[i];arr[i]=arr[j];arr[j]=temp; //交换

  }

  }

  qsort(arr,l,i-1); //对左半部分进行快排

  qsort(arr,j+1,r); //对右半部分进行快排

  }

  }

  void printArray(int N)

  {//此处编写代码打印数组

  int i=0;

  for(;i

  printf(”%3d”,a[i]);

  }

  main()

  {

  int i;

  for(i=0;i

  scanf(”%d”,&a[i]);

  printArray(N);

  //调用快速排序函数,对数组中从0到N的元素进行快速排序

  quickSort(a,0,N-1);

  printArray(N);

  printf(”\n”);

  return 0;

  }


Tags:  快速排序算法代码 快速排序算法c 随机快速排序算法 快速排序算法思想 快速排序算法分析 快速排序算法

延伸阅读

最新评论

发表评论