日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

插入排序法

發(fā)布時(shí)間:2025/3/20 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 插入排序法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

插入排序法


? ? ? ? ? 插入排序法:所謂插入排序法乃是將一個(gè)數(shù)目插入該占據(jù)的位置。


? ? ? ? ??假設(shè):我們輸入的是 “5,1,4,2,3”。

? ? ? ? ??我們從第二個(gè)數(shù)字開始,這個(gè)數(shù)字是1,我們的任務(wù)只要看看1有沒有正確的位置,我們的做法是和這個(gè)數(shù)字左邊的數(shù)字來比,因此我們比較1和5,1比5小,所以我們就交換1和5,原來的排列就變成了“1,5,4,2,3”

? ? ? ? ??接下來,我們看第3個(gè)數(shù)字有沒有在正確的位置。這個(gè)數(shù)字是4,它的左邊數(shù)字是5,4比5小,所以我們將4和5交換,排列變成了 “1,4,5,2,3"我們必須繼續(xù)看4有沒有在正確的位置,4的左邊是1,1比4小,4就維持不動了。

? ? ? ? ??再來看第四個(gè)數(shù)字,這個(gè)數(shù)字是2,我們將2和它左邊的數(shù)字相比,都比2大,所以就將2一路往左移動,一直移到2的左邊是1,這時(shí)候排序變成了 “1,2,4,5,3”

? ? ? ? ??最后,我們檢查第五個(gè)數(shù)字,這個(gè)數(shù)字是3,3必須往左移,一直移到3的左邊是2為止,所以我們的排列就變成了 “1,2,3,4,5”排序因此完成了。

所謂插入排序法,就是檢查第i個(gè)數(shù)字,如果在它的左邊的數(shù)字比它大,進(jìn)行交換,這個(gè)動作一直繼續(xù)下去,直到這個(gè)數(shù)字的左邊數(shù)字比它還要小,就可以停止了。插入排序法主要的回圈有兩個(gè)變數(shù):i和j,每一次執(zhí)行這個(gè)回圈,就會將第i個(gè)數(shù)字放到左邊恰當(dāng)?shù)奈恢萌ァ?/span>

? ? ? ? ??這里使用C#實(shí)現(xiàn)了一下,具體代碼如下:


<span style="font-size:24px;">namespace ConsoleApplication1 {class Program{//定義一個(gè)泛型集合//要求從大到小排序static List<int> list = new List<int>() { 72, 54, 59, 30, 31, 78, 2, 77, 82, 9 };static void Main(string[] args){bubble();}//排序static void bubble(){//總共要比較的趟數(shù)for (int i = 1; i < list.Count; i++){//定義一個(gè)變量//用于存放位置為i的那個(gè)元素,即尋找合適位置的那個(gè)元素int temp = list[i];//從這個(gè)數(shù)的位置開始,依次和它的前一個(gè)數(shù)進(jìn)行比較int j = i;//每趟中要比較的次數(shù)//依次比較當(dāng)前位置為j-1的數(shù)和temp的大小//如果當(dāng)前位置為(j-1)的數(shù)比temp小,則把它移到位置為j的地方,然后j-1//判斷j是否大于0//如果j大于0,繼續(xù)比較//如果j小于0,結(jié)束比較//如果當(dāng)前位置為(j-1)的數(shù)比temp大,結(jié)束比較 while ((j > 0) && (list[j - 1] < temp)){list[j] = list[j - 1];--j;}//temp,應(yīng)該放到位置為j的地方list[j] = temp;PrintList();}Console.ReadKey(); }//輸出static void PrintList(){foreach (var item in list ){Console.Write(string.Format("{0} ", item));}Console.WriteLine(); } } } </span>


總結(jié)

以上是生活随笔為你收集整理的插入排序法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。