插入排序

来源:互联网 发布:matlab中迭代算法 编辑:程序博客网 时间:2024/05/22 03:25
int a[]={50,40,20,45,15,70,33};
  int temp;
  int j;
  for(int i=1;i<a.length;i++)
  {
   temp=a[i];
   for(j=i;j>0&&temp<a[j-1];--j)
   {
   
   a[j]=a[j-1];
   
   
   }
   a[j]=temp;
 
 
 
  }
 
  for(int i=0;i<a.length;i++)
  {
  System.out.println(a[i]);

  }


终于搞懂了直接插入排序算法。用JAVA实现的


第一个for循环是排序的次数 要进行几次排序 就循环几次



第二个for循环是重点  功能主要是进行插入时元素之间的比较。如果要插入的元素比前一个元素小就让前一个元素赋值给当前要插入的元素的位置,要插入的元素的位置向前一位,直到要插入的元素的比前一个元素大为止。j 记录了当前的位置。


然后把temp里的值 即要插入的元素赋值给当前位置。



最后输出。



原创粉丝点击