----------------解决方案--------------------------------------------------------
翅膀看你的代码很舒服..呵呵...快排你和广陵的有区别...不过你的代码经过处理了...不知道快排和堆排是什么很难看懂哦..呵呵
child=begin<<1|1,child<len;==>如果是n接点,经过这个变换是n=2*n+1;后面是判断条件
插入排序..
#include <iostream>
#include <time.h>
using namespace std;
#define N 10000
int a[N];
void insert(int a[],int len)
{
for(int i=0;i<len;i++)
{
int min=a[i];
for(int j=0;j<i;j++)
if(a[j]>min)
{
for(int k=i;k>j;k--)
a[k]=a[k-1];
a[j]=min;
break;
}
}
}
int main()
{
clock_t t;
srand((unsigned)time(NULL));
for (int i=0;i<N;i++)a[i]=rand();
t=clock();
insert(a,N);
printf("Bubblet2 Use time:%ldms\n",clock()-t);
return 0;
}
[[it] 本帖最后由 sunkaidong 于 2008-5-10 15:53 编辑 [/it]]
----------------解决方案--------------------------------------------------------
!!!插入排序居然比选择排序要快!!真想不到!!
废了……写个插入排序居然花了我这么长时间,哎……
写完基数排序和桶排以后发完整代码,老这样会被说是灌水的……
----------------解决方案--------------------------------------------------------