亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

三原县| 吴江市| 沿河| 浦县| 藁城市| 滦南县| 怀来县| 桃园县| 江孜县| 平武县| 乾安县| 桐庐县| 长顺县| 灵宝市| 馆陶县| 景泰县| 南充市| 新沂市| 冷水江市| 陈巴尔虎旗| 拜泉县| 左贡县| 辽宁省| 比如县| 旬邑县| 独山县| 云和县| 连云港市| 祁门县| 靖江市| 蛟河市| 安徽省| 漾濞| 马龙县| 寿光市| 湘阴县| 旌德县| 太保市| 海盐县| 昭觉县| 沂源县|