直接插入排序:
【演算法思想】直接插入排序是一種最基本的插入排序演算法,其基本操作是將第插入到空位置即可。
#include #include void printarray(int a, int length)
}//對陣列a做直接插入排序,length為陣列中待排序的元素的數目
void insertsort(int a, int length)
else
break;
printf("j=%d,k=%d\n",j,k);
} a[k+1] = min;
printarray(a,length);
}} int main(int argc, char *ar**) ;
//int a1 = ;
int length = sizeof(a)/sizeof(int);
insertsort(a,length);
printf("in main function:\n");
printarray(a,length);
return 0;
}
執行結果:
j=1,k=0
printarray to show elements in array:
a[0]=9 a[1]=10 a[2]=8 a[3]=7 a[4]=6
a[5]=5 a[6]=4 a[7]=3 a[8]=2 a[9]=1
j=2,k=1
j=2,k=0
printarray to show elements in array:
a[0]=8 a[1]=9 a[2]=10 a[3]=7 a[4]=6
a[5]=5 a[6]=4 a[7]=3 a[8]=2 a[9]=1
j=3,k=2
j=3,k=1
j=3,k=0
printarray to show elements in array:
a[0]=7 a[1]=8 a[2]=9 a[3]=10 a[4]=6
a[5]=5 a[6]=4 a[7]=3 a[8]=2 a[9]=1
j=4,k=3
j=4,k=2
j=4,k=1
j=4,k=0
printarray to show elements in array:
a[0]=6 a[1]=7 a[2]=8 a[3]=9 a[4]=10
a[5]=5 a[6]=4 a[7]=3 a[8]=2 a[9]=1
j=5,k=4
j=5,k=3
j=5,k=2
j=5,k=1
j=5,k=0
printarray to show elements in array:
a[0]=5 a[1]=6 a[2]=7 a[3]=8 a[4]=9
a[5]=10 a[6]=4 a[7]=3 a[8]=2 a[9]=1
j=6,k=5
j=6,k=4
j=6,k=3
j=6,k=2
j=6,k=1
j=6,k=0
printarray to show elements in array:
a[0]=4 a[1]=5 a[2]=6 a[3]=7 a[4]=8
a[5]=9 a[6]=10 a[7]=3 a[8]=2 a[9]=1
j=7,k=6
j=7,k=5
j=7,k=4
j=7,k=3
j=7,k=2
j=7,k=1
j=7,k=0
printarray to show elements in array:
a[0]=3 a[1]=4 a[2]=5 a[3]=6 a[4]=7
a[5]=8 a[6]=9 a[7]=10 a[8]=2 a[9]=1
j=8,k=7
j=8,k=6
j=8,k=5
j=8,k=4
j=8,k=3
j=8,k=2
j=8,k=1
j=8,k=0
printarray to show elements in array:
a[0]=2 a[1]=3 a[2]=4 a[3]=5 a[4]=6
a[5]=7 a[6]=8 a[7]=9 a[8]=10 a[9]=1
j=9,k=8
j=9,k=7
j=9,k=6
j=9,k=5
j=9,k=4
j=9,k=3
j=9,k=2
j=9,k=1
j=9,k=0
printarray to show elements in array:
a[0]=1 a[1]=2 a[2]=3 a[3]=4 a[4]=5
a[5]=6 a[6]=7 a[7]=8 a[8]=9 a[9]=10
in main function:
printarray to show elements in array:
a[0]=1 a[1]=2 a[2]=3 a[3]=4 a[4]=5
a[5]=6 a[6]=7 a[7]=8 a[8]=9 a[9]=10
process exited normally.
press any key to continue . . .
直接插入排序
直接插入排序是一種最簡單的排序方法,它的基本思想是依次將每個記錄插入到乙個有序中去。就是說,第i i 1 遍整理時,a1,a2,ai 1已經是排好序的子串行 取出第i個元素ai,在已排好序的子串行為ai找到乙個合適的位置,並將它插到該位置上。易知上述排序當i 1時實際上為空操作,故可直接從i 2開始...
直接插入排序
直接插入排序的演算法思想 直接插入排序 straight insertion sort 的基本操作是將乙個記錄插入到已經排好序的有序表中,從而得到乙個新的 記錄數增 1 的有序表。根據該思想,編寫 如下 從已有序列的第0個記錄開始比較 public static void insertsort1 i...
直接插入排序
源文章url http student.zjzk.cn course ware data structure web paixu paixu8.2.1.1.htm 做過部分修改。1 基本思想 假設待排序的記錄存放在陣列r 1.n 中。初始時,r 1 自成1個有序區,無序區為r 2.n 從i 2起直至...