91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java代碼和偽代碼實現插入排序的方法

發布時間:2020-06-24 09:35:31 來源:億速云 閱讀:399 作者:Leah 欄目:編程語言

這篇文章運用簡單易懂的例子給大家介紹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行關鍵字被移到的地方。

第一次循環:如下圖所示:

java代碼和偽代碼實現插入排序的方法

第二次循環:如下圖所示:

java代碼和偽代碼實現插入排序的方法

注意:這里A[2]大于A[1],因為A[1]肯定是大于A[0]的所以沒必要在比較A[2]與A[1]的大小。while循環因不滿足條件會退出。

第三次循環:如下圖所示:

java代碼和偽代碼實現插入排序的方法

第四次循環:如下圖所示:

java代碼和偽代碼實現插入排序的方法

第五次循環:如下圖所示:

java代碼和偽代碼實現插入排序的方法

A數組此時如圖所示:

java代碼和偽代碼實現插入排序的方法

第六次循環時j為6不滿足循環j<A.length條件,循環退出。

關于java代碼和偽代碼實現插入排序的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

盐城市| 茌平县| 井冈山市| SHOW| 定日县| 晋宁县| 安吉县| 乌拉特前旗| 茌平县| 延安市| 襄汾县| 晋宁县| 丰镇市| 微山县| 普格县| 克东县| 通化县| 固镇县| 繁昌县| 芜湖市| 鄂伦春自治旗| 当阳市| 丹棱县| 刚察县| 辽阳市| 金秀| 凤庆县| 苍梧县| 三门峡市| 遂昌县| 锡林郭勒盟| 康保县| 简阳市| 武汉市| 微博| 金溪县| 呼伦贝尔市| 甘谷县| 汾西县| 徐闻县| 楚雄市|