插入排序(C語言實現)

2021-09-25 15:40:03 字數 504 閱讀 6882

插入排序:是所有排序方法中最簡單的一種演算法,其主要的實現思想是將資料按照一定的順序乙個乙個的插入到有序的表中,最終得到的序列就是已經排序好的資料。

直接插入排序是插入排序演算法中的一種,採用的方法是:在新增新的記錄時,使用順序查詢的方式找到其要插入的位置,然後將新記錄插入。

當一列資料已經有序,再有加入的資料時,適合使用插入排序。

#include

#define swap(a,b)

//巨集函式,用於交換資料

void

insert_sort

(int

* arr,

int len)

// 引數為待排序陣列首位址,陣列的長度

arr[j+1]

= t;

// 跳出迴圈後,將待排序的元素賦值給a[j+1],應為跳出迴圈時,j多減了一次,所以是a[j+1]

}}

C語言實現插入排序

插入排序 我在學習一些簡單的演算法,我用文字記錄我的進步。插入排序 其實就是在待排序列中找到,沒有排序好的元素,插入的適當的位置,本文以公升序為例,簡單的講解一下。直接看下面的 include stdio.h include stdlib.h include string.h void swap i...

C語言實現插入排序

插入排序是排序演算法的一種,它不改變原有的序列 陣列 而是建立乙個新的序列,在新序列上進行操作。這裡以從小到大排序為例進行講解。插入排序的基本思想是,將元素逐個新增到已經排序好的陣列中去,同時要求,插入的元素必須在正確的位置,這樣原來排序好的陣列是仍然有序的。在實際使用中,通常是排序整個無序陣列,所...

插入排序(C 語言實現)

插入排序分為直接插入排序和折半插入排序,直接插入排序利用遍歷的方式查詢插入位置,時間複雜度為n 2,直接插入法由於不會改變相同元素的相對順序,所以直接插入排序是一種穩定的排序演算法。折半插入排序 二分插入排序 折半插入利用二分法查詢插入位置,只是減少了查詢比較的操作,所以其時間複雜度仍為n 2,二分...