排序演算法之簡單插入排序法

2021-07-31 15:55:47 字數 486 閱讀 7650

對於初學者來說,排序演算法是c語言學習的乙個重點和難點,我就來分享一下我的學習心得吧!

排序演算法有3類:1、交換類排序法。包括氣泡排序和快速排序  2、插入類排序法。包括簡單插入排序和希爾排序  3、選擇類排序法。包括簡單選擇排序和堆排序

這一篇我先講一講簡單插入排序法吧。

簡單插入排序法:把n個待排序的元素看成乙個有序表和乙個無序表,開始時有序表只包含乙個元素,無序表包含n-1個元素。排序過程中每次從無序表中取出第乙個元素,把它與有序表進行比較後插入到有序表的適當位置,使之成為新的有序表。在最壞情況下,即初始序列是逆序的情況下,比較次數為n(n-1)/2,移動次數為n(n-1)/2.

#include

void insort(int s,int n)

s[j+1]=s[0]; //在確定的位置插入是s[i]

}}int main(void)

排序演算法之插入排序法

無論是c語言相關書籍還是演算法等等,很多種書籍上都有介紹排序演算法,而排序演算法重要的在於它的思想,這也是乙個程式的靈魂,相信大家也早都知道。在此,我簡單介紹一下插入排序法的基本思想,以供一些初學者及掌握不深的學習人員作乙個參考。其中,插入排序法的核心思想是 通過while的迴圈判斷語句,從第二個數...

排序演算法 一 插入排序法 折半插入排序法

約定 假設資料中有n個資料元素 關鍵字 排列演算法中,將序列中各關鍵字值依次存放於型別為keytype的陣列元素k 1 k 2 k 3 k n 中。排序結果按照資料元素 關鍵字 值的大小,從小到大排序。核心思想 第 i 趟排序將序列中第 i 1 個元素 ki 1 i 1,2,n 1 插入到乙個已經按...

演算法探索 插入排序演算法 簡單插入排序 希爾排序

常用的排序演算法分為 交換排序 氣泡排序 快速排序 插入排序 簡單插入排序 希爾排序 選擇排序 簡單選擇排序 堆排序 歸併排序 基數排序 桶排序 插入排序 顧名思義,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入 依據深海的理解舉乙個簡單的例子 未排序序列是 5,9,8,4,2 已排...