//改良自冒泡排序
//不稳定排序
//时间复杂度O(N2/2p)
一般取比率1.3
代码:
#include <iostream>
using namespace std;
void fun(int *array,int len)
{
int increment = len;
while (increment > 1)
{
increment /= 1.3;
for (int i = 0; i < (len - increment + 1); i++)
if (array[i] > array[i + increment - 1])
swap(array[i], array[i + increment - 1]);
}
}
void main()
{
int array[10] = { 1,5,7,2,9,3,4,10,8,6};
fun(array, 10);
for (int i = 0; i < 10; i++)
{
cout << array[i] << endl;
}
system("pause");
}