八大排序算法之插入排序算法
来源:互联网 发布:it学校 编辑:程序博客网 时间:2024/05/18 20:11
插入排序算法是对少量数据进行排序的有效算法,打扑克是排序算法的在生活中的典型应用,每次摸一张牌时,我们就按顺序把它放在合适的位置,最后从左到右就是从小到大的顺序(也可能从大到小)。接下来就用java代码实现:import java.util.Arrays;
public class Insorted {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[]a = {2,3,6,1,7};
Insorted in = new Insorted();
System.out.println(Arrays.toString(in.insorted(a)));
}
public int[] insorted(int []array){
int i;
int j;
int key;
if(array == null || array.length == 0){
return null;
}
for(i = 1; i < array.length;i++){
j = i - 1;
key = array[i];
while(j >=0 && array[j] > key){
array[j+1] = array[j];
j--;
}
array[j+1] = key; //a[j]第一次进行右移时覆盖了a[j+1]值,是否造成了数据丢失?不会,a[j]的值存到key里
}
return array;
}
}
问题1:a[i]第一次进行右移时覆盖了a[i+1]值,是否造成了数据丢失?
答:不会造成数据丢失,应为第一次右移前的i-1=j,此时a[i]的值存在了key里了。每次右移都为下一次右移或插入留出了位置,这就是插入排序的关键点所在。
- 八大排序算法之插入排序算法
- 八大排序算法之直接插入排序
- 八大排序算法之直接插入排序
- 八大排序算法之直接插入排序
- 八大排序算法之直接插入排序
- 八大排序算法之插入排序
- 八大排序算法 之 直接插入排序
- 八大排序算法之插入排序
- 八大排序算法之插入排序
- 八大排序算法之插入排序
- 八大排序算法之插入排序
- 八大排序算法之插入排序
- 八大排序算法之插入排序
- Java八大排序算法之"直接插入排序"算法
- 八大排序算法之直接插入排序和希尔排序
- 八大排序算法之(二)插入排序 希尔排序
- 开贴聊八大排序算法之直接插入排序(一)
- 八大排序算法之-直接插入排序 java代码
- unix domain socket 使用时crash
- html5<canvas图像合成实例之随机闪烁的星星>
- 微信小程序申请开通了流程
- ACPI 启动下platform_driver定义时是否要用of_match_ptr
- Java 8新特性:lambda表达式
- 八大排序算法之插入排序算法
- 微信小程序实例源码大全下载
- (c++)web应用开发框架简单对比
- PorterDuffXfermode学习笔记
- Cisco WLC和瘦ap的配置
- wamp5虚拟主机的配置
- Linux安全运维必看丨谁动了我的主机? 之活用History命令
- 监听DIV内容变化
- cannot resolve corresponding JNI function