排序算法-插入排序

打印 上一主题 下一主题

主题 1851|帖子 1851|积分 5553

插入排序的思绪
根本思绪步调:
初始状态: 将数组分为已排序部分和未排序部分。初始时,已排序部分只包罗第一个元素,而未排序部分包罗别的的元素。
逐步构建有序序列: 从未排序部分取出第一个元素,将其插入到已排序部分的准确位置,使得已排序部分仍旧保持有序。
比较并移动: 将取出的元素与已排序部分的元素逐一比较,找到其准确的插入位置。为了插入,可能需要将比它大的元素依次向右移动,为新元素腾出插入的位置。
重复步调 2-3: 重复以上步调,每次取出未排序部分的一个元素,插入到已排序部分的准确位置。这样,已排序部分逐渐增加,未排序部分逐渐减小。
直到排序完成: 重复上述过程,直到未排序部分为空,整个数组就被排序完成了。
插入排序代码 
  1. public class Sort {
  2.     //3.插入排序
  3.     public static int[] inserSort(int... array){
  4.         int i,j;
  5.         for(i=1;i< array.length;i++){
  6.             if(array[i]>=array[i-1]){
  7.                 continue;
  8.             }
  9.             int t=array[i];
  10.             //
  11.             for(j=i-1;j>=0&&array[j]>t;j--){
  12.                 array[j+1]=array[j];
  13.             }
  14.             array[j+1]=t;
  15.         }
  16.         return array;
  17.     }
  18.     public static void main(String[] args) {
  19.         int[] a={94,54,52,36,17,4,9};
  20.         System.out.println(Arrays.toString(inserSort(a)));
  21.     }
  22. }
复制代码
效果展示 


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

一给

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表