挿入ソート(C/C++実装)
809 ワード
関数にカプセル化:
テスト:
出力:[9 0 6 5 8 2 1 7 4 3][0 1 2 3 4 6 8 9]
//
void swap(int *a,int i,int j)
{
int t = a[i];
a[i] = a[j];
a[j] = t;
}
//
void insertion_sort(int *a,int len)
{
int i,j;
if (len < 2)
{
return;
}
for (i = 1; i < len; i++)
{
for (j = i; j > 0 && a[j] < a[j - 1]; j--)
{
swap(a, j, j - 1);
}
}
}
テスト:
//
void print_arr(int *a,int len)
{
int i;
if(len<1) // 0
{
printf("length greater than 0");
return;
}
//
printf("[");
for(i=0; i
出力:[9 0 6 5 8 2 1 7 4 3][0 1 2 3 4 6 8 9]