美文网首页
快速排序法

快速排序法

作者: 石器时代小古董 | 来源:发表于2018-10-25 15:32 被阅读0次

思路:找到一个基准值,比基准值小的在左边,比基准值大的在右边
1.从前往后对比start和key,如果start比key大,让start和end调换位置
2.从后往前end比key小,start和end调换位置

void sort(int a[],int low,int hight){
   int start=low;
   int end=higth;
   int key=a[low];
   while(end>start){
   //从前往后查找比关键值大的
       while(end>start&&key<=start){
          start++;
        }
      if(key>a[start]){
       int temp=a[start];
        a[start]=a[end];
        a[end]=temp;
       }
  }
  //查找比key小的,如果比key大,忽略,查找下一个
  wihle(key>=a[end]){
   end--;
   }
//让起始位置和最后位置的数据进行交换
   if(a[end]<key){
       int temp=a[end];
       a[end]=a[start];
       a[start]=temp
   }
}
if(start>low){
  sort( a,low,start-1);
}
if(end<height){
  sort(a,end+1,height);
}

相关文章

  • 排序算法总结

    选择排序法 插入排序法 冒泡排序法 归并排序法 自顶向下 自底向上 快速排序法 单路快速排序法 双路快速排序法 三...

  • iOS常见算法

    升序算法:用冒泡排序法 选择排序法 快速排序

  • 排序算法篇_快速排序法

      快速排序(Quick Sort)法和冒泡排序法类似,都是基于交换排序思想的。快速排序对冒泡排序法进行了改进,从...

  • 《python算法教程》Day9 - 快速排序法

    这是《python算法教程》第9篇读书笔记,笔记的主要内容为快速排序法。 快速排序法简介 快速排序法运用分治法的方...

  • 排序算法

    排序算法分类 排序算法常用主要有:冒泡排序法、快速排序法、选择排序法、插入排序法、堆排序法、归并排序法等几种。 ...

  • php实现几种常见的排序方法

    1. 冒泡排序法: 2. 选择排序法: 3.插入排序法: 4.快速排序法:

  • 3种排序

    冒泡排序 插入排序 快速排序法

  • js 常见排序算法(快速排序,选择排序等)

    快速排序法 选择排序 插入排序 冒泡排序

  • 常用的排序算法

    1. 冒泡排序: 2.快速排序法 3.插入排序法 4.选择排序法 5.归并排序法

  • 数组相关处理函数2

    冒泡排序法 快速排序法 数组排序函数 ksort 对数组按照键名排序 krsort 键名降序排序 asort 对数...

网友评论

      本文标题:快速排序法

      本文链接:https://www.haomeiwen.com/subject/clvwzftx.html