(三)冒泡排序
实现代码:
/*!
* 冒泡排序
*/
double BubbleSort(int *data, int size)
{
double res = 0;
int tmp;
//EClock<> Ek;
for(int i=0; i<size-1; i++) {
for(int j=0; j<size-i-1; j++) {
if(data[j] > data[j+1]) {
tmp = data[j];
data[j] = data[j+1];
data[j+1] = tmp;
}
}
}
//res = Ek.microsecond();
return res;
}
测试结果:
单位:us
10 | 0.30186993 |
20 | 0.9056098 |
50 | 3.32056927 |
100 | 11.1691875 |
200 | 39.2430913 |
500 | 197.724806 |
1000 | 1851.67017 |
2000 | 3133.10804 |
3000 | 7739.03948 |
4000 | 13960.5788 |
5000 | 23381.0338 |
6000 | 35565.4099 |
7000 | 51633.3427 |
8000 | 88991.5582 |
9000 | 97521.7988 |
10000 | 123894.666 |
20000 | 532810.998 |
50000 | 3627390.17 |
100000 | 14682625.4 |
200000 | 59743991.7 |
500000 | 377435155 |
800000 | 947062613 |
1000000 | 1486134689 |