插入排序是最简单的排序算法 :
看了看书按照书上说的对插入排序进行了实现:
public static void sort() {
for(int i=0;i<a.length;i++) {
for(int j=i;j>0&&a[j] < a[j-1];j--) {
Utils.swap(j, j-1, a);
}
}
}
public static void sort() {
for(int i=0;i<a.length;i++) {
for(int j=i;j>0&&a[j] < a[j-1];j--) {
Utils.swap(j, j-1, a);
}
}
}
swap的实现如下:
public static void swap(int i,int m, int a[]) {
int temp = a[i];
a[i] = a[m];
a[m] = temp;
}
这种方式中主要是对目标值位置不断的移动来保证数据左小右大的排列
但是这种方式可以进一步的改进:
public static void sort2() {
for(int i=0;i<a.length;i++) {
int temp = a[i];
int j=i;
for(;j>0 && a[j-1]>temp;j--) {
a[j] = a[j-1];
}
a[j] = temp;
}
}
这样赋值的次数会减少很多哦,效率也有了进一步的提高
分享到:
相关推荐
插入排序实现源码,包括直接插入排序、shell排序。
插入排序的C++实现,初学者必看,简单实用
实现以下常用的内部排序算法并进行性能比较:"直接插入排序"," 折半插入排序"," 2—路插入排序"," 表插入排序"," 希尔排序"," 起泡排序"," 快速排序"," 简单选择排序"," 树形选择排序"," 堆排序"," 归并排序"," 链式...
全面的排序算法实现,包括插入排序、合并排序、堆排序、快速排序。 堆排序:HeapSort 讲解详见http://blog.csdn.net/fly_yr/article/details/8550701 插入排序:InSertion_Sort 讲解详见...
插入排序 C语言 Insert sort
经典的插入排序算法,C语言实现,数据结构必备
c++实验之一:简单插入排序 实现简单排序方法
插入排序C语言实现 插入排序C语言实现 插入排序C语言实现
数据结构(c语言版)严蔚敏 吴伟民编著 中直接插入排序、折半排序、shell排序、冒泡排序、快速排序、选择排序、堆排序的实现、归并排序,使用c语言实现
mips实现插入排序,带详细注释,spim上可运行
此案例难度系数4,属于Scratch高级编程,插入排序相对而言比选择排序和冒泡排序理解起来要难一点,但是还是相对简单的排序,尤其是对少量元素排序的时候,效率较高;综合考查说话、随机数、无限循环(条件循环)、...
选择排序、插入排序、冒泡排序以及快速排序和归并排序的C语言实现,绝对可用
使用C++实现了插入排序,有注释,简明易懂
插入排序.py python实现的排序插入排序.py python实现的排序插入排序.py python实现的排序插入排序.py python实现的排序插入排序.py python实现的排序插入排序.py python实现的排序插入排序.py python实现的排序插入...
插入排序插入排序插入排序插入排序插入排序插入排序插入排序
合并排序,插入排序,希尔排序,快速排序,冒泡排序,桶排序的C语言实现,原创。
7大排序算法(快速排序,冒泡排序,选择排序,归并排序,插入排序,希尔排序,堆排序)实现源码
c语言 插入排序c语言 插入排序c语言 插入排序c语言 插入排序c语言 插入排序c语言 插入排序c语言 插入排序c语言 插入排序
java实现的插入排序 都是静态的例子 很简单
冒泡排序,选择排序,插入排序,希尔排序,堆排序,归并排序,快速排序源码实现,里面有详细讲解,对新手应该有帮助