ChinaUnix.net
相关文章推荐:

快速排序博客

public class QuickSort1 { void QuickSort(String[] pData, int left, int right) { int i, j; // int iTemp; String middle, strTemp; i = left; j = right; middle = pData[(left + right) / 2]; do { while ((pData.compareTo(middle) 0) && (j > left)){ j--; } if (i // iTemp = pDataNum; // pDataNum = pDataNum[j]; // pDataNum[j] = iTemp; i++; j--; } } while...

by kumwolf - Java文档中心 - 2008-11-09 12:05:17 阅读(1040) 回复(0)

相关讨论

def qsort(list)   return [] if list.size ==0   x,*xs = list   small,big = xs.partition { |item| item

by teebye - Python - 2009-03-25 09:54:22 阅读(3560) 回复(11)

假设知道最大值和最小值范围。 首先取center = (max + min) / 2 然后 > center的放入一边, < center 的放入一边。 统计两边的个数,然后修改max和min,重新做。 像你说的,如果固定的100万,可以把center 设置为靠近100万的值。

by broadoceans - C/C++ - 2006-12-18 13:18:25 阅读(929) 回复(0)

这是算法引论中介绍的快速排序算法: [code]QUICKSORT(A,p,r) 1 if p < r 2 then q <-- PARTITION(A,p,r) 3 QUICKSORT(A,p,q) 4 QUICKSORT(A,q + 1,r) PARTITION(A,p,r) 1 x <--- A[p] 2 i <--- p - 1 3 j <--- r + 1 4 while TRUE 5 do repeat j <--- j - 1 6 until A[j] <= x 7 repeat i <--- i + 1 8 until A >= x 9 if i < j 10 ...

by blueprint - C/C++ - 2005-12-19 23:46:59 阅读(966) 回复(0)

[code] #include "istream.h" #include "ostream.h" void qsort(int[],int,int); void main() { int a[]={6,2,4,5,1,3}; int len=sizeof(a)/sizeof(int); qsort(a,0,len-1); for(int i=0;i;pivot) --r; if(l>;=r) break; ...

by qdqiqi - C/C++ - 2003-07-22 16:35:12 阅读(4828) 回复(13)

#include #include int partition(int l[], int low, int high) { int pivotkey = l[low]; while(low < high) { while((low < high) && (l[high] >= pivotkey)) high--; l[low] = l[high]; while((low < high) && (l[low] <= pivotkey)) low++; l[high] = l[low]; } ...

by forboa - C/C++ - 2008-04-23 19:08:16 阅读(1376) 回复(1)

:em03: :em03: 前阵子在上课时,自己写出了一个自认很不错的排序算法, 写的这个排序算法原理来自 QuickSort 快速排序 下面就是我自己写出来的 QuickSort 快速排序 注:我是用 C++ 写的 第二个参数 beg 是较低的下标 , 第三个参数 end 是较高的下标 把第一个元素定为基点,变量 m 相当于指示中点的位置, 比较完后就会把 基点和中点 互相转换 除基点外,比基点小的都会被提到 第m位,每次都会把 m加1 最后,...

by Qoakyi - C/C++ - 2009-05-21 13:06:17 阅读(15915) 回复(43)

快速排序的改进算法,或者大家谈谈如何改进快速排序:)

by W.Z.T - C/C++ - 2007-07-04 19:43:57 阅读(6925) 回复(32)

写了个快速排序的脚本练练手,顺便熟悉一下awk中的递归函数的写法。 特点:能对字符串及数字进行排序: qsort: [code] #! /usr/bin/awk BEGIN { FS="[ ]"; } { arr[len++]=$0; } END{ qsort(arr,0,len); printfile(arr,len+1); exit 0; } function qsort(array , p , r , t , i ,x) { if (p < r) { x=array[p]; i = p; j = r+1; while(array[--j] > x ); ...

by dbcat - Shell - 2006-04-25 09:03:16 阅读(7404) 回复(16)

// test0.cpp : 定义控制台应用程序的入口点。 //此教程来源于ChinaUnix論壇(http://bbs.chinaunix.net/) //查看完整的教程请点:http://bbs.chinaunix.net/thread-1296108-1-1.html #include "stdafx.h" #include #include #include #include #include //随机选取中间数 template int select(T data[], int low, int high) { int middle=low+rand()%(hi...

by 0hudu - C/C++ - 2008-10-27 17:12:58 阅读(3432) 回复(4)

我找了半天找不到错误,但是就是运行不了, 后来找到答案了,就是缺少了递归结束条件。 if(left #include #include #include //using namespace std; using std::cout; using std::endl; const int N = 5; int myCompare(const void *x,const void *y); void myQuickSort(int *a, int left, int right); int main(void) { cout << "Hell...

by vaqeteart - C/C++ - 2008-06-05 14:50:20 阅读(1820) 回复(5)