重拾编程之路--插入排序算法

来源:互联网 发布:linux 局域网 编辑:程序博客网 时间:2024/06/05 14:48

算法理解:

        1)选择未排序序列第二个位置开始直到最后的元素作为每次要插入的元素;

        2)插入元素与它左边的每一个元素比较并逐渐左移直到都小于其左边的元素即为找到合适的位置插入;(比较过程会有数组元素交换过程)


package com.lulu.leetcode;//可以把数组排序的算法写成一个接口,重写sort()实现不同方式的排序算法public class MyInsertSort {public void sort(int[] nums) {// int len = nums.length;for (int i = 1; i < len; i++) {int key=nums[i];for(int j=i;j>0;j--){if(nums[j-1]>key){//int temp=nums[j];nums[j]=nums[j-1];nums[j-1]=key;}}}}public void outp(int nums[]) {// 按格式输出数组String string = "";for (int i : nums) {string = string + i + "-->";}System.out.println(string);}/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubint[] nums = { 1, 3, 2, 6, 5, 10, 7, 9, 8 };MyInsertSort myChoseSort = new MyInsertSort();myChoseSort.sort(nums);myChoseSort.outp(nums);}}


0 0
原创粉丝点击