直接插入排序學習

2021-07-30 19:34:46 字數 930 閱讀 7321

直接插入排序:

1、從未排序的第乙個元素開始,和前乙個已排好序的元素相比較,如果小於前乙個元素就交換位置,並繼續與前乙個元素比較,大於則跳出當前這一層的迴圈,這樣當前元素與原來已排好序的元素,組成乙個新的已經排好序的序列;(原陣列包含(0~i)已排好序的序列與(i~lenght-1)未排好序的序列),(第乙個元素可以看成是已排好序的序列,從第二個元素起算第乙個未排好序的序列首元素);

2、迴圈重複上述操作,直到陣列全都排好序;

**如下:

public class insertionsort {

private static int num = 0;//迴圈次數

public int sort(int forsort){

for(int i=1; i0;j--){

num++;

if(forsort[j]執行結果如下:

分次結果:[2, 5, 6, 8, 5, 4, 6, 9, 4, 9],num=1

分次結果:[2, 5, 6, 8, 5, 4, 6, 9, 4, 9],num=2

分次結果:[2, 5, 6, 8, 5, 4, 6, 9, 4, 9],num=3

分次結果:[2, 5, 5, 6, 8, 4, 6, 9, 4, 9],num=6

分次結果:[2, 4, 5, 5, 6, 8, 6, 9, 4, 9],num=11

分次結果:[2, 4, 5, 5, 6, 6, 8, 9, 4, 9],num=13

分次結果:[2, 4, 5, 5, 6, 6, 8, 9, 4, 9],num=14

分次結果:[2, 4, 4, 5, 5, 6, 6, 8, 9, 9],num=21

分次結果:[2, 4, 4, 5, 5, 6, 6, 8, 9, 9],num=22

最終結果:[2, 4, 4, 5, 5, 6, 6, 8, 9, 9],num=22

直接插入排序 學習筆記 詳解直接插入排序

直接插入排序 straight insertion sort 是一種簡單的排序方法,是一種插入類排序。其基本操作是將一條記錄插入到已排好的有序表中,從而得到乙個新的 記錄數量增1的有序表。將乙個記錄插入到已排好序的序列中,從而得到乙個新的有序序列 將序列的第乙個資料看成是乙個有序的子串行,然後從第二...

直接插入排序

直接插入排序是一種最簡單的排序方法,它的基本思想是依次將每個記錄插入到乙個有序中去。就是說,第i i 1 遍整理時,a1,a2,ai 1已經是排好序的子串行 取出第i個元素ai,在已排好序的子串行為ai找到乙個合適的位置,並將它插到該位置上。易知上述排序當i 1時實際上為空操作,故可直接從i 2開始...

直接插入排序

直接插入排序的演算法思想 直接插入排序 straight insertion sort 的基本操作是將乙個記錄插入到已經排好序的有序表中,從而得到乙個新的 記錄數增 1 的有序表。根據該思想,編寫 如下 從已有序列的第0個記錄開始比較 public static void insertsort1 i...