首页 > 编程 > Java > 正文

Java数据结构及算法实例:插入排序 Insertion Sort

2019-11-26 15:07:55
字体:
来源:转载
供稿:网友
/**  * 选择排序的思想:  * 每次循环前,数组左边都是部分有序的序列,  * 然后选择右边待排元素,将其值保存下来  * 依次和左边已经排好的元素比较  * 如果小于左边的元素,就将左边的元素右移一位  * 直到和最左边的比较完成,或者待排元素不比左边元素小  */ package al; public class InsertionSort {      public static void main(String[] args) {          InsertionSort insertSort = new InsertionSort();     int[] elements = { 14, 77, 21, 9, 10, 50, 43, 14 };     // sort the array     insertSort.sort(elements);     // print the sorted array     for (int i = 0; i < elements.length; i++) {       System.out.print(elements[i]);       System.out.print(" ");     }   }      /**    * @author    * @param array 待排数组    */   public void sort(int[] array) {     // min to save the minimum element for each round     int key; // save current element     for(int i=0; i<array.length; i++) {       int j = i;  // current position       key = array[j];       // compare current element       while(j > 0 && array[j-1] > key) {         array[j] = array[j-1]; //shift it         j--;        }       array[j] = key;          }   } } 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表