专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅
快速排序(quicksort)是分治法的典型例子,它的主要思想是将一个待排序的数组以数组的某一个元素X为轴,使这个轴的左侧元素都比X大,而右侧元素都比X小(从大到小排序)。然后以这个X在变换后数组的位置i分为左右两个子数组,再分别进行快速排序,直到子数组中只有一个元素为止。快速排序算法如下 Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->voidquicksort(intA[],intp,in [阅读全文] [PDF]
全排列,比如字母ABC,所有排列有A,AB,AC,ABC,ACB,B,BA,BC,BAC,BCA,C,CA,CB,CAB,CBA。 //原理是插入,在一个字符串的所有位置插入新字符. //如:AB插入C,位置有1A2B3,插入后形成CABACBABC char*AllList(char*str,int*pNum) ...{ inti,j,k,n; intlen=strlen(str); intTotal=0; intcount,oldcount; intsize; char*Buf; char*p,*p1; if(len>10)returnNULL; // [阅读全文] [PDF]
#include<iostream>using namespace std; template<class T> void ShellInsert(T a[],size_t a_size,size_t dk){for(int i=dk;i!=a_size;++i){cout<<i<<endl;if(a[i]<a[i-dk]) {T temp=a[i];int j=i-dk;for(;j>=0 && temp<a[j];j-=dk){a[j+dk]=a[j];}a[j+dk]=te [阅读全文] [PDF]
参考:[http://www.crazycoder.cn/]这是一个非常经典的排序算法,O(NlogN)阶。 参考:[http://www.crazycoder.cn/] 参考:[http://www.crazycoder.cn/]#include <stdlib.h>#include <stdio.h>#include <sys/time.h>#include <time.h> #define MAX_LENGTH 100 /*Show usage*/void usage(char * prog){ [阅读全文] [PDF]
参考:[http://www.crazycoder.cn/]原书中给出的此算法的伪代码有误...faint, 以下代码可能有误,欢迎指正. 参考:[http://www.crazycoder.cn/] 参考:[http://www.crazycoder.cn/]事情是这样的,比之于原来的快排,这个方法把递归改成了自己维护栈,而且是单侧进栈... #include <stdlib.h>#include <stdio.h>#include <sys/time.h>#include <time.h> #d [阅读全文] [PDF]
privatevoidDataGrid1_SortCommand(objectsource,System.Web.UI.WebControls.DataGridSortCommandEventArgse) { if(ViewState[\"Order\"]==null) { ViewState[\"Order\"]=\"ASC\"; } else { if(ViewState[\"Order\"].ToString()==\"ASC\") ViewState[\"Order\"]=\"DESC\"; else { ViewState[\"Order\"]=\"A [阅读全文] [PDF]
1 共6条 分1页