//排序--希尔排序法 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<time.h> /* 强调:网上,书上的希尔排序法都有问题 希尔排序并非按一个增量d,将一个数组分成若干小的数组,对每个数组进行插入排序,这个理论 ...
分类:
编程语言 时间:
2016-08-07 21:33:53
阅读次数:
209
//排序--快速排序法 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<time.h> /* 快速排序 它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分, 其中一部分的所有数据都比另外一部分的所有数据都要小 ...
分类:
编程语言 时间:
2016-08-07 11:01:27
阅读次数:
153
//排序--冒泡排序法升级版 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<time.h> /* 冒泡排序: 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的数列, ...
分类:
编程语言 时间:
2016-08-05 15:51:11
阅读次数:
487
//排序--选择排序法 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<time.h> /* 选择排序(Selection sort)是一种简单直观的排序算法。 它的工作原理是每一次从待排序的数据元素中选出最小(或最大 ...
分类:
编程语言 时间:
2016-08-05 15:11:19
阅读次数:
176
//排序--插入排序法 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<time.h> /* 选择排序(Selection sort)是一种简单直观的排序算法。 它的工作原理是每一次从待排序的数据元素中选出最小(或最大 ...
分类:
编程语言 时间:
2016-08-05 13:32:45
阅读次数:
159
排序算法<<插入排序>>*直接插入排序*思想
每次取剩下的一个元素插入到已经有序的序列中.
代码public static void InsertSort(int[] arr){
if(arr == null || arr.length == 0){
System.err.println("ERROR INPUT");
return...
分类:
编程语言 时间:
2016-07-15 21:37:49
阅读次数:
310
这篇文章介绍一下基本的排序树和它相应的实现代码值得注意的是,这里讲的是最普通的排序树,不考虑平衡的问题,它的增、删、查、改时间复杂度都是O(N)~O(log2(N))对结点的定义template<classK,classV>
structBSTNode
{
BSTNode(constK&key,constV&value)
:_key(k..
分类:
编程语言 时间:
2016-07-03 07:09:48
阅读次数:
159
voidCountSort(int*a,intn)
{
assert(a);
intminValue=a[0];
intmaxValue=a[0];
for(inti=0;i<n;++i)
{
if(minValue>a[i])
{
minValue=a[i];
}
if(maxValue<a[i])
{
maxValue=a[i];
}
}
intrange=maxValue-minValue+1;
int*tmp=newint[r..
分类:
编程语言 时间:
2016-06-12 16:59:51
阅读次数:
273
#pragmaonce
voidShellSort(int*array,size_tn)
{
intgap=n;
while(gap>1)
{
gap=gap/3+1;
for(size_ti=0;i<n-gap;++i)
{
intend=i;
inttmp=array[end+gap];
while((end>=0)&&array[end]>tmp)
{
array[end+gap]=array[end];
..
分类:
编程语言 时间:
2016-06-08 12:37:05
阅读次数:
433
#pragmaonce
voidSelectSort(int*array,intn)
{
assert(array);
intleft=0;
intright=n-1;
while(left<right)
{
intminIndex=left;
intmaxIndex=right;
for(inti=left;i<=right;++i)
{
if(array[i]<array[minIndex])
minIndex=i;
if(a..
分类:
编程语言 时间:
2016-06-08 12:36:47
阅读次数:
290