摘要:剛想寫寫插入排序算法,突然發現有點生疏,百度了一下,了解其基本思想之后,就開始了。直接插入排序算法思路是待排序記錄,,,第一步將無序表打第一個元素作為一個有序表。第二步將加入到有序表中,使有序表依舊有序第步,,,以此類推。
剛想寫寫插入排序算法,突然發現有點生疏,百度了一下,了解其基本思想之后,就開始coding了。
直接插入排序算法思路是:
待排序記錄 R1,R2,… ,Rn–1, Rn
第一步:將無序表打第一個元素作為一個有序表。
第二步:將R2加入到有序表中,使有序表依舊有序
.........
第 n 步: (R1,R2,… ,Rn–1), Rn.
以此類推。
直接插入排序算法的時間復雜度,最好的情況是待排序記錄是有序的,O(N),最壞打情況是記錄從大到小排列,O(N2)。
貼出我的代碼
//這是我寫的一個排序方法和輸出方法 public static void sort(int[] data) { for (int index = 1; index <= data.length - 1; index++) { int temp = data[index]; int j = index - 1; for (; j >= 0 && temp < data[j]; j--) { data[j + 1] = data[j]; } data[j + 1] = temp; } } public static void print(int[] data) { for (int out : data) { System.out.print(out + " "); } System.out.println(); }
以下是用一個測試類來測試結果
package DirectInsert; /** * Created by linxs on 16-6-14. */ public class TestSort { public static void main(String[] args) { int[] data = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0}; Sort.print(data); Sort.sort(data); Sort.print(data); } }
代碼比較簡單,就不多做贅述了,最后看運行結果。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/64808.html
摘要:強烈推薦上值得前端學習的數據結構與算法項目,包含圖的演示過程與視頻講解。該倉庫包含了多種基于的算法與數據結構,提供進一步閱讀的解釋和鏈接。數據結構和算法必知必會的個代碼實現。 showImg(https://segmentfault.com/img/bVbvpYZ); 前言 算法為王。想學好前端,先練好內功,內功不行,就算招式練的再花哨,終究成不了高手;只有內功深厚者,前端之路才會走得...
摘要:結構型模式適配器模式橋接模式裝飾模式組合模式外觀模式享元模式代理模式。行為型模式模版方法模式命令模式迭代器模式觀察者模式中介者模式備忘錄模式解釋器模式模式狀態模式策略模式職責鏈模式責任鏈模式訪問者模式。 主要版本 更新時間 備注 v1.0 2015-08-01 首次發布 v1.1 2018-03-12 增加新技術知識、完善知識體系 v2.0 2019-02-19 結構...
摘要:接下來我來說明快速排序的思路以及實現的代碼。快速排序思路首先是定義一個變量,把數組的第一個元素的值賦給,然后定義兩個變量指向數組的第一個元素和最后一個元素。 今天突然想寫個排序,以前寫過,然后寫了之后一直出錯,然后自己百度了一下,看了別人寫的方法,自己也嘗試著寫了一個。接下來我來說明快速排序的思路以及實現的代碼。 快速排序思路:首先是定義一個變量key,把數組的第一個元素的值賦給key...
摘要:之所以把冒泡排序選擇排序插入排序放在一起比較,是因為它們的平均時間復雜度都為。其中,冒泡排序就是原地排序算法。所以冒泡排序是穩定的排序算法。選擇排序思路選擇排序算法的實現思路有點類似插入排序,也分已排序區間和未排序區間。 showImg(https://segmentfault.com/img/bVbuvnj?w=900&h=250); 1. 前言 算法為王。 想學好前端,先練好內功,...
閱讀 2556·2021-09-22 15:25
閱讀 2963·2021-09-14 18:03
閱讀 1212·2021-09-09 09:33
閱讀 1700·2021-09-07 09:59
閱讀 2930·2021-07-29 13:50
閱讀 1500·2019-08-30 15:44
閱讀 1715·2019-08-29 16:22
閱讀 1287·2019-08-29 12:49