快排 (自己实现)

原创 2013年12月03日 23:50:21
void quick_sort(int a[],int x,int y)
{
int xx = x,yy = y;
int k = a[x];
if(x >= y) return;
while(xx != yy)
{
while(xx < yy && a[yy] >= k) yy--;
a[xx] = a[yy];
while(xx < yy && a[xx] <= k) xx++;
a[yy] = a[xx];
}
a[xx] = k;
quick_sort(a,x,xx-1);
quick_sort(a,xx+1,y);

}


快排的c++实现(两种实现方式)

快速排序算法是现在用的最广的排序算法,也是效率最高的。它有两种实现方式,一种是定轴法,另外一种是挖坑法。这里简单介绍一下两种实现方法的思想,并附上C++实现代码。 (一)定轴法: 1.备份对轴...
  • jeryjeryjery
  • jeryjeryjery
  • 2016年10月22日 20:51
  • 3921

算法导论 - QuickSort 快速排序 C++实现

算法导论的快速排序还和一般书上的快速排序是有点不一样的。 当然书习题也给出了一般快速排序的方法,其分区函数学名叫Hoare partition。 书本介绍的排序可以用图看的很清晰: 然后配合C++...
  • kenden23
  • kenden23
  • 2013年11月09日 10:32
  • 13410

Java实现数组的快速排序(快速排序算法)

实现快速排序算法的关键在于先在数组中选择一个数字,接下来把数组中的数字分为两部分,比选择数字小的数字移动到数组的左边,比选择数字大的数字移动到数组的右边。 具体的实现算法为: 设要排序的数组是A[...
  • gg543012991
  • gg543012991
  • 2016年07月24日 17:45
  • 3846

JAVA实现Bently版快排

  • 2014年12月21日 23:18
  • 2KB
  • 下载

使用插入排序对快排进行优化c++实现

  • 2017年12月03日 10:54
  • 2KB
  • 下载

快排的实现

  • 2013年06月03日 23:57
  • 2KB
  • 下载

快排算法c语言实现

  • 2015年06月09日 21:22
  • 2KB
  • 下载

排序算法——快排java实现

排序是Hadoop的灵魂// Java program for implementation of QuickSort class QuickSort { /* This function t...
  • santiagao
  • santiagao
  • 2018年01月15日 19:08
  • 14

排序及选择算法的java实现(一)选择、冒泡、插入、希尔、归并、快排

上面这六种排序算法其实都可以认为是一棵二叉树,每一次比较都对应一个树的内部节点,叶节点是数组元素。具有n个叶节点的二叉树最小深度是logn,所以最差时间复杂度是O(nlogn)。实际上所有基于比较的算...
  • u010646250
  • u010646250
  • 2015年12月11日 00:22
  • 525

实现《算法导论》里的快排

《算法导论》里的快排是选取序列末尾的数作为主元(分界值)。从左到右扫描的过程中,也把分界值的位置确定了,而不参与新一轮的扫描。在数据量很大、扫描分段很多的时候应该多多少少能比原来的写法有所优化吧,不过...
  • hitzxm
  • hitzxm
  • 2014年03月20日 21:40
  • 581
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:快排 (自己实现)
举报原因:
原因补充:

(最多只允许输入30个字)