成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

java代碼和偽代碼實現(xiàn)插入排序的方法-創(chuàng)新互聯(lián)

這篇文章運用簡單易懂的例子給大家介紹java代碼和偽代碼實現(xiàn)插入排序的方法,代碼非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的廣昌網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

插入排序介紹:

相信大部分人都打過撲克牌,許多人喜歡發(fā)一張牌就拿一張牌到手上,并且按順序來放好牌。開始時我們左手為空,牌在桌子上。然后我們每次從桌子上拿走一張牌并將它插入左手中的位置。為了找到一張牌的正確位置,我們從右到左將它與已在手中的每張牌進行比較。

偽代碼:

INSERTION-SORT(A)	//A是數(shù)組
 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;
		}
}

下面我們來看一下插入排序的運行步驟

用數(shù)組A[2,4,7,1,3,6]來舉例子

每次for循環(huán)中,黃色的長方形是A[j]的值,在第7行的while循環(huán)中將它與其左邊的藍色的長方形中的值進行比較。藍色的箭頭指出數(shù)組在第8行向右移動一個位置,黃色的箭頭指出第11行關(guān)鍵字被移到的地方。

第一次循環(huán):如下圖所示:

第二次循環(huán):如下圖所示:

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

第三次循環(huán):如下圖所示:

第四次循環(huán):如下圖所示:

第五次循環(huán):如下圖所示:

A數(shù)組此時如圖所示:

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

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

本文題目:java代碼和偽代碼實現(xiàn)插入排序的方法-創(chuàng)新互聯(lián)
標題鏈接:http://jinyejixie.com/article24/cspcje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、電子商務(wù)、手機網(wǎng)站建設(shè)、服務(wù)器托管、靜態(tài)網(wǎng)站、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)