• 快速排序


    快速排序的思想:去数组的第一个数做比较数 t,数组中小于t的数全部放到左边,大于t的数全部放到右边,第一次排序结束。用递归把t前面和后面的数在分别带入函数进行下次排序。直到比较数两边只有一个数为止。判断递归停止的条件也就是这了。

     1 void quickSort(int a[],int left,int right){
     2      
     3     if(left>=right)
     4         return ;
     5     
     6     int i = left;
     7     int j = right;
     8     int k = a[i];
     9     while(i<j){
    10     
    11         while(i<j && k<=a[j])
    12             j--;
    13         if(j>i)
    14             a[i] = a[j];
    15         
    16         while(i<j && k>a[i])
    17             i++;
    18         if(i<j)
    19             a[j] = a[i];
    20     }
    21     a[i] = k;//每一次排序后都要把比较数放在中间,以便下次分割
    22     quickSort(a,left,i-1);
    23     quickSort(a,i+1,right);
    24      
    25  }
    26  
  • 相关阅读:
    拓展欧几里得
    使用BIOS进行键盘输入和磁盘读写
    直接定址表
    指令系统总结
    端口
    内中断
    标志寄存器
    call 和 ret 指令
    编写包含多个功能子程序的中断例程
    字符串的输入
  • 原文地址:https://www.cnblogs.com/lsy-lsy/p/10027294.html
Copyright © 2020-2023  润新知