導航:首頁 > 源碼編譯 > 排序演算法之插入類

排序演算法之插入類

發布時間:2025-05-15 01:04:26

『壹』 插入排序的演算法

排序演算法在編程領域中起著舉足輕重的作用,在目標檢索、機器學習、數值計算、圖像處理等領域有著廣泛地應用。為了追本溯源,公眾號特推出常用經典排序演算法系列推文,讓小夥伴們深入了解排序演算法的實現原理,同時也提升matlab編程能力。
插入排序演算法,它是將無序序列分成兩部分,一部分為假設已經排列完成的序列,另一部分為餘下序列,將餘下序列中的元素取出插入到已排列完成的序列中,依次比較確定插入位置,下面就一起來看看該算的實現原理吧。
插入排序演算法實現過程(以升序排列為例):
對於長度為N的無序數組A,假定序列A(1)為排列完成的序列K,將A(2)與A(1)作比較,如果A(2)<A(1),則兩者交換,否則保持不變,即完成序列K的元素添加;將A(3)與A(2)比較,如果A(2)<A(3),則保持不變,否則兩者交換,繼續將A(3)與A(1)比較,如果A(3)>A(1),則兩者交換,否則保持不變;以此類推,將餘下序列中的元素取出插入到序列K中,從序列K尾部往首部進行比較,直至完成所有元素的插入。

matlab代碼
主程序:main.m

format short;
clc;clear;
A = round(rand(1,8),2);
nA = InsertSort(A);
disp(['原始序列:',num2str(A)]);
disp(['插入排序:',num2str(nA)]);
插入排序函數:InsertSort.m

function A = InsertSort(A)
% 感謝關註:matlab愛好者
% 插入排序演算法源代碼
% 作者:matlab愛好者

len = length(A);
for w = 1:len-1
% 從餘下序列中取出一個元素插入到新序列中
for v = w+1:-1:2
if(A(v)<A(v-1))
% 如果新元素小於所插入位置的元素,則交換
tmp = A(v-1);
A(v-1) = A(v);
A(v) = tmp;
else
% 否則保持位置不變
break;
end
end
end

閱讀全文

與排序演算法之插入類相關的資料

熱點內容
winrar為什麼沒有找到解壓文件 瀏覽:4
mp4儲存在哪個文件夾 瀏覽:322
php漢字轉數字 瀏覽:705
紅米k40怎麼加密微信 瀏覽:814
蘋果電腦源碼修復 瀏覽:25
奧數巧演算法 瀏覽:426
未婚個稅app怎麼填寫 瀏覽:639
oppo程序加密鎖怎麼解 瀏覽:625
怎樣加密mkv文件 瀏覽:966
蚊子解壓玩偶 瀏覽:411
java正整數正則表達式 瀏覽:480
ios的王者號怎麼在安卓上登錄 瀏覽:742
精神分裂pdf 瀏覽:261
程序員用什麼品牌內存條 瀏覽:706
電腦伺服器設置ip地址 瀏覽:904
蘇州孕婦溯源碼燕窩即食 瀏覽:348
在線翻譯pdf文件 瀏覽:487
三豐雲伺服器nginx路徑 瀏覽:857
雲無盤伺服器配置 瀏覽:794
大貓解壓定格動畫 瀏覽:986