排序演算法系列 2 插入排序

2021-08-20 03:10:49 字數 1141 閱讀 5580

哈嘍,各位朋友, 好久沒和你們說話了,我賊無聊= = 

咳咳,本期繼續開始我們的排序演算法之路

(額...這個部落格表情這麼少,怪不得個個都沒有老婆呢!——內涵段子)

演算法本來就是乙個異常難學的一項技術,如果你放棄了,你可以和碼農娛樂玩耍了,嘿嘿

2.插入排序

static void main(string args)

;foreach (var b in charu(a))

console.read();

}//下面為重點

public static int charu(int a)

//留下乙個空位,即加入最小牌

a[j+1] = p;

//排序完畢}}

return a;

}//t(n)=o(n²)

//總結重要思想: 以i為界,i前為要排序的,i後為未排序的

《2》講解(從小到大)

我希望大家一句**一句**的看 與 寫,看完後寫,寫完後,看我講 

玩過牌吧,朋友,知道怎麼排序牌吧? 

什麼,知道?好吧,不用我講了,你已經會了!

什麼,不知道?你連牌都不會排序,我還講什麼?

什麼,半會半不會?你還是讓你那半會給你的半不會講吧....我撤了,講個毛線啊

活躍一下子氣氛,呵呵

開始咯話說,3個月前,我還在演算法中無限徘徊,今天我又要和這個天天在我腦袋裡面開「dj」跳舞的小皮蛋見面了

哎,真扯.....

第一步:外層的「套路」

for (i = 1; i < a.length; i++)

第二步:內層的「艱難」

if (a[i] < a[i - 1])

第三步:大腦的「運轉」

//記錄當前牌

p = a[i];

//j為手中牌 ,與 當前牌 一一比較

for (j = (i-1); j >= 0 && a[j] > p; j--)

//留下乙個空位,即加入最小牌

a[j+1] = p;

//排序完畢

感謝大家的觀賞!

排序演算法系列之插入排序 1

排序,即是以一定的規則組織資料,排序演算法的優劣關鍵在於比較資料的交換和移動次數.排序演算法需要考慮的幾點 資料交換次數,移動次數,資料越界,演算法的實用性 符合多種型別 預知 使用c 拓展方法進行資料輸出,使用stringbuilder節約記憶體開銷 public static class deb...

經典演算法系列之 插入排序

1 前言 演算法,在計算機中的地位,就相當於人類大腦的決策中樞系統,哪怕最簡單的演算法,其精妙的思維方式,都可以讓人開啟一扇新的視窗。演算法,它不僅僅只是狹義的用來解決電腦科學領域的問題,更是一種 思維方式 演算法思維,是一種深度思考和創造的過程。演算法,只有真正理解了,而不只是所謂的知道,並將應用...

排序演算法系列 直接插入排序(C )

直接插入排序的基本操作是將乙個記錄插入到已經排好序的有序表中,從而得到乙個新的 記錄數增加1的有序表。這是直插排序的操作定義。參考 大話資料結構 這本書的實現原理,c 如下 include define size 10 using namespace std void insert sort int...