資料結構 直接插入排序

2021-07-31 12:15:00 字數 662 閱讀 6796

直接插入排序:將待插入子串行元素逐步插入到有序序列的執行過程。設有一待排序序列s=,其中是有序的,是無序的,要把後面無需的元素,乙個乙個的插入到前面有序的集合中去。
如下面的序列可以分為兩個子串行:

和 初始序列:(75)88 68 92 88 62 77 96 80 72

第一次排序(75 88)68 92 88 62 77 96 80 72

第二次排序(68 75 88)92 88 62 77 96 80 72

. .

. .

第九次排序(68 75 88 92 88 62 77 96 80 72)

演算法實現:

public

static

void main(string args) }}

}

這是我用集合實現的,之所以用集合實現而不用陣列實現是因為,使用陣列的情況下,每次插入的時候都要將陣列的插入點之後的資料向後移動,這種方法比較耗時間,所以用集合是比較方便快捷的。因為linkedlist集合底層的資料結構是鍊錶結構插入刪除裡面的元素是非常方便的。這個不僅學習了資料結構,而且學習了集合的相關知識。

資料結構 直接插入排序

直接插入排序 include include typedef struct int elem int length sqlist void initsqlist sqlist l int i printf 請輸入元素個數 scanf d l length l elem int malloc size...

資料結構 直接插入排序

將乙個記錄插入到已排好序的序列中,從而得到乙個新的有序序列 將序列的第乙個資料看成是乙個有序的子串行,然後從第二個記錄逐個向該有序的子串行進行有序的插入,直至整個序列有序 可以選擇不同的方法在已經排好序資料表中尋找插入位置。根據查詢方法不同,有多種插入排序方法,下面要介紹的是直接插入排序。設待排序的...

資料結構 直接插入排序

直接 插入排序 straight insertion sort 是一種最簡單的排序方法,其基本操作是將一條記錄插入到已排好的有序表中,從而得到乙個新的 記錄數量增1的有序表 在日常生活中,經常碰到這樣一類排序問題 把新的資料插入到已經排好的資料列中。例如 一組從小到大排好順序的資料列,通常稱之為有序...