挿入法
アルゴリズムの勉強をしているものです。挿入法をCで実装してみたのですがうまくいきません 汗
プログラムは6個の配列に任意の数を入力してそれをソートするものです。
実行結果が以下のようになりうまくいきません。自分ではどこがおかしい
原因かわからないので教えてください。
a[0]:4
a[1]:2
a[2]:3
a[3]:1
a[4]:5
a[5]:6
4 2 3 1 5 6・・をソートしますか? Yes:0 No:1 ---
0
2 3 1 4 5 6
////*挿入法*////
#include <stdio.h>
void insertion-sort(int a[],int n){
int i,j,t;
for(i=1;i < n;i++){
j = i;
while(a[j-1] > a[j]){
t = a[j];
a[j] = a[j-1];
a[j-1] = t;
j--;
if(j==0) break;
}
}
}
int main(void)
{
int k,j,sort[6];
for(k=0;k < 6;k++)
{printf("sort[%d]:",k); scanf("%d",&sort[k]);}
for(k=0;k < 6;k++)
printf("%3d",sort[k]);
puts("ソートしますか? Yes:1 No:0 ///");
scanf("%d",&j);
if(j==1){
insertion-sort(sort,6);
for(k=0;k < 6;k++) printf("%3d",sort[k]);
}
putchar('\n');
return(0);
}