啊哈磊_编程从这里起步

标题: 快速排序 [打印本页]

作者: leijiamian    时间: 2021-1-3 20:19
标题: 快速排序
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int a[10];
  4. void sort(int left, int right){
  5.     int i,j,t,temp;
  6.     if (left>=right) return;
  7.     temp=a[left-1];
  8.     i=left;
  9.     j=right;
  10.    
  11.     while(i!=j){
  12.         
  13.         while(a[j]>=temp && i<j) j--;
  14.         while(a[i]<=temp && i<j) i++;
  15.         if(i<j){
  16.             t=a[i];
  17.             a[i]=a[j];
  18.             a[j]=t;
  19.         }
  20.     }
  21.     a[left-1]=a[i];
  22.     a[i]=temp;
  23.     for (int z = 0; z<10; z++) printf("%d ",a[z]);
  24.     printf ("");
  25.     sort(left,i-1);
  26.     sort(i+1,right);
  27.     return;
  28. }
  29. int main()
  30. {
  31.     for (int i=0;i<10;i++) scanf("%d",&a[i]);
  32.     sort(1,9);
  33.     for(int i=0;i<10;i++) printf("%d ",a[i]);
  34.     getchar();
  35.     return 0;
  36. }
复制代码





欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2