排序整理——直接插入排序
阿新 • • 發佈:2018-12-15
直接選擇排序(Straight Select Sorting) 也是一種簡單的排序方法,它的基本思想是:第一次從R[0]~R[n-1]中選取最小值,與R[0]交換,第二次從R[1]~R[n-1]中選取最小值,與R[1]交換,....,第i次從R[i-1]~R[n-1]中選取最小值,與R[i-1]交換,.....,第n-1次從R[n-2]~R[n-1]中選取最小值,與R[n-2]交換,總共通過n-1次,得到一個按排序碼從小到大排列的有序序列。
package myself; import java.util.Arrays; public class InsertSort{ public static void main(String []args){ int a[]={12,0,23,56,26,3,5,6,9,7,2,3}; insertSort(a); System.out.println(Arrays.toString(a)); } public static void insertSort(int a[]){ //遍歷所有的數字 for(int i=1;i<a.length;i++){ //如果當前數字比前一個數字還小 if(a[i]<a[i-1]){ //把當前遍歷數字當作臨時變數存起來 int temp=a[i]; int j; //遍歷當前數字前面所有的數字 for(j=i-1;j>=0&&temp<a[j];j--){ a[j+1]=a[j];//把前一個數字賦給後一個數字 } //把臨時變數(外層for迴圈的當前元素)賦給不滿足條件的後一個 a[j+1]=temp; } } } }