使用java程式碼和偽代碼實作插入排序
插入排序介紹:
相信大部分人都打過撲克牌,許多人喜歡發一張牌就拿一張牌到手上,並且按順序來放好牌。開始時我們左手為空,牌在桌上。然後我們每次從桌子上拿走一張牌並將它插入左手中的位置。為了找到一張牌的正確位置,我們從右到左將它與已在手中的每張牌進行比較。
java相關免費影片教學推薦:java免費影片教學
#偽代碼:
INSERTION-SORT(A) //A是数组 for j = 2 to A.length key = A[j] //(将A[j]插入排序序列A[1..j-1]) i = j - 1 while i > 0 and A[i] > key A[i+1] = A[i] i = i - 1 A[i+1] = key
java程式碼:
//升序排序 public void InsertSortAscending(int[] A){ for(int j = 1;j < A.length;j++){ int key = A[j]; //将A[j]插入排序序列A[1..j-1] int i = j - 1; while(i >= 0 && A[i] > key){ A[j+1] = A[i]; i = i - 1; } A[i+1] = key; } }
下面我們來看一下插入排序的運行步驟
用數組A[2,4,7,1,3,6]來舉例子
每次for迴圈中,黃色的長方形是A[j]的值,在第7行的while循環中將它與其左邊的藍色的長方形中的值進行比較。藍色的箭頭指出陣列在第8行向右移動一個位置,黃色的箭頭指出第11行關鍵字被移到的地方。
第一次迴圈:如下圖:
第二次迴圈:如下圖所示:
注意:這裡A[2]大於A[1],因為A[1]一定是大於A[0]的所以沒必要在比較A[2]與A[1]的大小。 while迴圈因不符合條件會退出。
第三次迴圈:如下圖:
#第四次迴圈:如下圖:
第五次迴圈:如下圖所示:
A陣列此時如圖所示:
第六次循環時j為6不滿足循環j 推薦java相關文章教學:java入門程式
以上是使用java程式碼和偽代碼實作插入排序的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

Java 8引入了Stream API,提供了一種強大且表達力豐富的處理數據集合的方式。然而,使用Stream時,一個常見問題是:如何從forEach操作中中斷或返回? 傳統循環允許提前中斷或返回,但Stream的forEach方法並不直接支持這種方式。本文將解釋原因,並探討在Stream處理系統中實現提前終止的替代方法。 延伸閱讀: Java Stream API改進 理解Stream forEach forEach方法是一個終端操作,它對Stream中的每個元素執行一個操作。它的設計意圖是處

膠囊是一種三維幾何圖形,由一個圓柱體和兩端各一個半球體組成。膠囊的體積可以通過將圓柱體的體積和兩端半球體的體積相加來計算。本教程將討論如何使用不同的方法在Java中計算給定膠囊的體積。 膠囊體積公式 膠囊體積的公式如下: 膠囊體積 = 圓柱體體積 兩個半球體體積 其中, r: 半球體的半徑。 h: 圓柱體的高度(不包括半球體)。 例子 1 輸入 半徑 = 5 單位 高度 = 10 單位 輸出 體積 = 1570.8 立方單位 解釋 使用公式計算體積: 體積 = π × r2 × h (4
