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 阅读(720) 回复(0)
def qsort(list)
return [] if list.size ==0
x,*xs = list
small,big = xs.partition { |item| item
假设知道最大值和最小值范围。 首先取center = (max + min) / 2 然后 > center的放入一边, < center 的放入一边。 统计两边的个数,然后修改max和min,重新做。 像你说的,如果固定的100万,可以把center 设置为靠近100万的值。
这是算法引论中介绍的快速排序算法: [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 ...
[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
--mysql tar zxvf mysql-5.0.37.tar.gz cd mysql-5.0.37 more INSTALL-SOURCE groupadd mysql useradd -g mysql mysql passwd mysql ./configure --prefix=/usr/local/mysql --with-charset=gbk --with-extra-charsets=gb2312,latin1,utf8 --enable-largefile --with-big-tables --localstatedir=/usr/local/mysql/data --without-debug --with-max-indexes=64 --without-ndbcluster make make install cp support-files/my-medium...
#include
:em03: :em03: 前阵子在上课时,自己写出了一个自认很不错的排序算法, 写的这个排序算法原理来自 QuickSort 快速排序 下面就是我自己写出来的 QuickSort 快速排序 注:我是用 C++ 写的 第二个参数 beg 是较低的下标 , 第三个参数 end 是较高的下标 把第一个元素定为基点,变量 m 相当于指示中点的位置, 比较完后就会把 基点和中点 互相转换 除基点外,比基点小的都会被提到 第m位,每次都会把 m加1 最后,...