當前位置:才華齋>計算機>java語言>

java插入法排序原理

java語言 閲讀(2.6W)

Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程。以下是小編為大家搜索整理的java插入法排序原理,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!

java插入法排序原理

入排序的基本思想是,經過i-1遍處理後,L[1i-1]己排好序。第i遍處理僅將L[i]插入L[1i-1]的`適當位置,使得L[1i]又是排好序的序列。要達到這個目的,我們可以用順序比較的方法。首先比較L[i]和L[i-1],如果L[i-1]≤ L[i]?騆[1i]已排好序,第i遍處理就結束了;否則交換L[i]與L[i-1]的位置,繼續比較L[i-1]和L[i-2],直到找到某一個位置j(1≤j≤i-1),使得L[j] ≤L[j+1]時為止。

簡言之,插入排序就是每一步都將一個待排數據按其大小插入到已經排序的數據中的適當位置,直到全部插入完畢。插入排序方法分直接插入排序和折半插入排序兩種,這裏只介紹直接插入排序,折半插入排序留到"查找"內容中進行。

  排序的過程

圖1演示了對4個元素進行直接插入排序的過程,共需要(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的值整體後移一個單位

}

a[j+1]=temp;

}

for(int i=0;i

tln(a[i]);

}