直接插入排序

2021-09-21 07:04:40 字數 2761 閱讀 3167

直接插入排序:

【演算法思想】直接插入排序是一種最基本的插入排序演算法,其基本操作是將第插入到空位置即可。

#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起直至...