簡單的插入排序

2021-07-02 23:04:48 字數 783 閱讀 8984

直接插入排序的基本思想:將待排序陣列分為兩部分:已排好序部分和未排序部分。其主要步驟為:

開始時,第乙個元素在已排好序部分中,其餘部分在未排序部分。然後依次從

插入排序的具體做法:在插入第i個記錄時,k1,k2,k3,...,ki-1,已經排好序,將關鍵字ki依次與ki-1,ki-2,...,k2,k1

進行比較,從而找到應該插入的位置,然後將ki 插入,插入位置及其後的記錄依次後移動。

插入排序和打撲克牌時,抓牌整理牌很相似。再抓第一張牌時,不需要進行任何整理牌的動作只需抓在手上即可,抓第二張牌時需要和第一張牌比大小。大的話直接放在第一張牌後面,小的話需插到第一張牌前面。後面抓牌時依次與前面排好序的牌比較找到合適的位置插入即可。

插入排序的基本操作為:將乙個資料插入已經排好序的有序資料中。從而得到乙個新的,個數加一的有序資料,演算法適用於少量的資料的排序,時間複雜度為o(n^2)是穩定的排序方法

如果待排序的序列基本有序宜採用直接插入排序和氣泡排序

#include#include#includeusing namespace std;

void insert_sort(int a,int len)

a[j+1]=temp;//找到了合適的位置將新抓的牌temp 插入進去完成一趟插入排序.其實插入排序有點像快速排序中挖坑填數

} }}

int main()

insert_sort(a,10);

for(int i=0;i<10;i++)

cout

}

簡單插入排序

思想 抽出乙個元素,在其前面的元素中找到適當的位置進行插入 這種方式 是將 待插入元素 逐個跟i 1個已排序元素比較,並交換位置 public static void sort int a 設資料序列有n個元素,最好情況 乙個排好序的序列,如。每趟元素與i 1個元素比較的次數是1次。因為前i 1個元...

簡單插入排序

將未排序的記錄按順序插入到已排好序的記錄當中。穩定性 1 插入排序是穩定排序 2 效率是0 n 2 演算法 1 排好序和未排序的 2 插入乙個未排序的數列,依次和前面相鄰的比較,並判斷是否和前面的數是否進行比較 如 12,34,45 插入10 65 12 34 45 為排好序 插入 10 12 34...

簡單插入排序

簡單插入排序 insertion sort 的演算法描述是一種簡單直觀的排序演算法。它的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。演算法描述 一般來說,插入排序都採用in place在陣列上實現。具體演算法描述如下 1.從第乙個元素開始,該元素可以認...