码迷,mamicode.com
首页 > 编程语言 > 详细

数据结构-插入排序

时间:2019-06-01 21:17:52      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:结构   数组   system   没有   博客   pre   博文   自己   count   

插入排序的基本思想是:将整个数组a分为有序和无序的两个部分。前者在左边,后者在右边。开始有序的部分只有a[0] , 其余都属于无序的部分。每次取出无序部分的第一个(最左边)元素,把它加入有序部分。假设插入合适的位置p,则原p位置及其后面的有序部分元素都向右移动一个位置,有序的部分即增加了一个元素。一直做下去,直到无序的部分没有元素。
---------------------
作者:little pepper
来源:CSDN
原文:https://blog.csdn.net/qq_41045071/article/details/81053924
版权声明:本文为博主原创文章,转载请附上博文链接!

以下是我按照插入排序的基本思想自己写的代码:

 1 package com.wsy;
 2 
 3 public class InsetSort {
 4     public static void main(String[] args) {
 5         int[]a = {6,1,4,8,2,3,9,7,10,5};
 6         int insetData;
 7         int count = 0;
 8         for(int i=1; i< a.length; i++)
 9         {
10             count++;
11             insetData = a[i];
12             for(int j =0; j < i; j++)
13             {
14                 count++;
15                 if(a[j] > insetData)    //如果找到了位置
16                 {
17                     for (int k = i-1; k >= j; k--) //使该位置之后的有序部分下标全部+1
18                     {
19                         count++;
20                         a[k+1] = a[k];
21                     }
22                     a[j] = insetData;
23                     break;
24                 }
25             }
26         }
27         System.out.println("该排序总共执行了:"+count+"次");
28         for(int d : a)
29         {
30             System.out.print(d+" ");
31         }
32     }
33 }

以下是原博客代码:

 1 void InsertionSort(int a[], int size)
 2 {
 3     for(int i = 1;i < size;i++){
 4     //a[i]是最左边的无序元素,每次循环将a[i]放到合适位置 
 5         for(int j = 0;j < i;j++){
 6             if(a[j] > a[i]){
 7                 //要把a[i]放到位置j,原下标j到i-1的元素都往后移一位 
 8                 int tmp = a[i];
 9                 for(int k = i;k > j;k--;)
10                     a[k] = a[k-1];
11                 a[j] = tmp;
12                 break; 
13             }        
14         } 
15     }
16 } 

 

数据结构-插入排序

标签:结构   数组   system   没有   博客   pre   博文   自己   count   

原文地址:https://www.cnblogs.com/sucker/p/10960922.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!