发一下牢骚和主题无关:
最近在看算法导论,就实现了一些简单的算法!
核心是分治
首先先实现交换两个值的函数,
然后实现分割操纵
最后肯定递归条件!
int exchange(int A[],int i,int j) { int temp = A[i]; A[i] = A[j]; A[j] = temp; return 0; } int Partion(int A[],int p,int r) { int x= A[r]; int i = p-1; for (int j = p; j < r; j++) { if (A[j]<=x) { i = i+1; exchange(A,i,j); } } exchange(A,i+1,r); return i+1; } void QuickSort(int A[],int p,int r) { if (p<r-1) { int q = Partion(A,p,r); QuickSort(A,p,q-1); QuickSort(A,q+1,r); } }
测试快排的代码:
int A[10]={2,3,4,5,6,7,8,9,0,1}; QuickSort(A,0,9); for (int i = 0; i <10; i++) { cout<<A[i]<<"\t"; } cout <<endl;
文章结束给大家分享下程序员的一些笑话语录: PC软件体积大,是因为一个PC软件功能往往较多,能够满足你一个方面的需求,而一个iphone软件往往没几行代码,干一件很小的事情,自然需要的软件就多。就像吃西瓜和吃瓜子的来比数目,单位不同啊。
--------------------------------- 原创文章 By
置顶和算法
---------------------------------