插入排序(java基础)
来源:互联网 发布:文件夹隐藏软件 编辑:程序博客网 时间:2024/04/28 05:27
package sort;
/**
*
* @author dreamtry
* 插入排序最主要是记住前面是一个有序的,
* 从后面取一个数插入前面有序数列中.
*/
public class InsertSort {
public void insertsort(int[] arr){
int min;
for(int i=1; i< arr.length; i++){
int temp = arr[i];
min = i;
while(min>0 && arr[min-1] > temp){
arr[min] = arr[min-1];
--min;
}
arr[min] = temp;
}
}
public void print(int[] arr){
for(int i=0; i< arr.length; i++){
System.out.print(arr[i] +" ");
}
}
/**
* @param args
*/
public static void main(String[] args) {
int[] arr = {24,3,5,23,53,1,22,13,7,16,10,4};
InsertSort demo = new InsertSort();
demo.insertsort(arr);
demo.print(arr);
}
}
/**
*总结:第一趟最多比较一次,第二趟两次....
*因此为: 1+2+3+...+n-1=n*(n-1)=n*(n-1)/2
*如果这样的话同冒泡排序
*而实际情况是每一趟发现插入点之前,平均只有全体数据的一半进行了比较
*因此为n*(n-1)/4同选择排序 数据量大的话也是O(N*N)
*实际上插入排序比选择排序略快
*
*/
- 插入排序(java基础)
- 基础排序 - 插入排序(Java)
- java基础之插入排序
- 基础算法(三)---插入排序(Java)
- 算法导论(一)2、算法基础-插入排序 java
- java实现各种基础排序(冒泡排序、快速排序、直接选择排序、堆排序、直接插入排序、归并排序)
- Java基础篇之----排序(快速排序、冒泡排序、堆排序、简单选择排序、 希尔排序、直接插入排序)
- 插入排序(java)
- 插入排序(java)
- 插入排序(JAVA)
- 插入排序(Java)
- 插入排序(java)
- 插入排序(Java)
- 插入排序(java)
- 插入排序(Java)
- 插入排序(java)
- 插入排序(JAVA)
- 回归基础系列-插入排序[JAVA]
- Win下的输入法(IME)编程(2)
- Struts2 图片验证码
- cookie存储中文
- 关于异常“The specified child already has a parent. You must call removeView"的解决(举例说明,附源码)
- Android进阶2之PopupWindow弹窗(有点悬浮窗的感觉)
- 插入排序(java基础)
- 判断时间前后
- Shell排序(java基础)
- Linux进程控制
- Qt对字符的处理(beta1.0)
- 求m,n的最大公约数
- java路径问题
- 在VS中配置OpenGL
- db2 sql 语句