- 相關(guān)推薦
java插入法排序原理
Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實(shí)現(xiàn)了面向?qū)ο罄碚摚试S程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。以下是小編為大家搜索整理的java插入法排序原理,希望能給大家?guī)韼椭?更多精彩內(nèi)容請及時(shí)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
入排序的基本思想是,經(jīng)過i-1遍處理后,L[1i-1]己排好序。第i遍處理僅將L[i]插入L[1i-1]的適當(dāng)位置,使得L[1i]又是排好序的序列。要達(dá)到這個(gè)目的,我們可以用順序比較的方法。首先比較L[i]和L[i-1],如果L[i-1]≤ L[i]?騆[1i]已排好序,第i遍處理就結(jié)束了;否則交換L[i]與L[i-1]的位置,繼續(xù)比較L[i-1]和L[i-2],直到找到某一個(gè)位置j(1≤j≤i-1),使得L[j] ≤L[j+1]時(shí)為止。
簡言之,插入排序就是每一步都將一個(gè)待排數(shù)據(jù)按其大小插入到已經(jīng)排序的數(shù)據(jù)中的適當(dāng)位置,直到全部插入完畢。插入排序方法分直接插入排序和折半插入排序兩種,這里只介紹直接插入排序,折半插入排序留到"查找"內(nèi)容中進(jìn)行。
排序的過程
圖1演示了對4個(gè)元素進(jìn)行直接插入排序的過程,共需要(a),(b),(c)三次插入。
代碼:
nt a[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,53,51};
int temp=0;
for(int i=1;i
int j=i-1;
temp=a[i];
for(;j>=0&&temp
a[j+1]=a[j]; //將大于temp的值整體后移一個(gè)單位
}
a[j+1]=temp;
}
for(int i=0;i
System.out.println(a[i]);
}
【java插入法排序原理】相關(guān)文章:
教你JAVA語言快速排序的原理05-21
冒泡排序的原理以及java代碼實(shí)現(xiàn)12-29
冒泡排序算法原理及JAVA實(shí)現(xiàn)代碼方法03-20
Java排序算法06-17
Java工作原理05-27
java的常見排序方法03-17
常用Java排序算法詳解05-21
JAVA語言的常見排序算法07-16
java常見的排序算法的代碼03-26