算法实现Java之插入排序
2017-10-12 18:19
239 查看
package com.gpf.arithmetic; public class InsertSort { //前面的数是排序好的,然后后面的数插入到排序好的树中的适当位置 public static void main(String[] args) { int [] a = {12,2545,78,2,0,-98,-79,11}; insertSort(a); for (int i : a) { System.out.println(i + " "); } } private static void insertSort(int[] a) { //初始状态,第一个数默认是排序好的 for(int i = 1; i < a.length; i++){ int temp = a[i];//因为数组要后移,可能覆盖,所以需要把此位置的数值保存下来 if(a[i]<a[i-1]){//如果要插入的数比最大的数还大,不需要改变 只需要考虑要插入的数小于已排好序的最大数 //寻找最适合的位置 int j; for(j = i-1; j>=0&&a[j]>temp; j--){ //未找到,则数组后移 a[j+1] = a[j]; } //跳出循环 把值放入此位置 a[j+1] = temp; } } } }
相关文章推荐
- 必须知道的八大种排序算法【java实现】(二) 选择排序,插入排序,希尔算法【详解】
- “插入排序”算法Java语言的实现与详解
- 算法-java代码实现插入排序
- 数据算法之插入排序(insertSort)的Java实现
- 算法系列(二)冒泡排序、选择排序、插入排序和希尔排序(Java实现)
- 算法导论——JAVA实现“插入排序”算法
- 算法(第四版)学习笔记之java实现插入排序
- 算法实战java实现插入排序,堆排序,归并排序
- 数据算法之插入排序(insertSort)的Java实现
- 几种常见排序算法之Java实现(插入排序、希尔排序、冒泡排序、快速排序、选择排序、归并排序)
- 必须知道的八大种排序算法【java实现】(二) 选择排序,插入排序,希尔算法【详解】
- 算法—插入排序(Java实现)
- Java实现的各种排序算法(插入排序、选择排序算法、冒泡排序算法)
- Java实现排序算法之 - 插入排序
- 数据结构与算法——插入排序(Java实现)
- java实现排序算法之2-路插入排序,直接插入排序,折半插入排序
- 数据结构与算法(8)---Java语言实现:插入排序
- 【LeetCode-面试算法经典-Java实现】【147-Insertion Sort List(链表插入排序)】
- java实现排序算法之插入排序(直接插入排序,折半插入排序,希尔排序)
- 8大内部排序算法学习笔记--(1)插入排序java实现