插入排序算法
来源:互联网 发布:sql语句教程视频 编辑:程序博客网 时间:2024/06/05 09:41
思想
- 假设待排序的记录存放在数组R[1..n]中。初始时,R[1]自成1个有序区,无序区为R[2..n]。从i=2起直至i=n为止,依次将R[i]插入当前的有序区R[1..i-1]中,生成含n个记录的有序区。
稳定性
- 选择排序是稳定排序算法
代码
/** * 插入排序 */public class InsertSort { //元素 private Integer[] elements; //索引 private Integer count; public InsertSort(Integer max){ this.count = 0; elements = new Integer[max]; } //插入数据 public Integer insert(Integer element){ elements[count] = element; count++; return element; } //显示数据 public void display(){ for (int i = 0; i < count; i++){ System.out.println("array["+i+"]====="+this.elements[i]); } } //排序 public void insertSort(){ int out,in; for ( out= 1; out < count; out++ ){//外层循环 in = out; int temp = elements[out]; while (in > 0 && elements[in-1] >= temp){ elements[in] = elements[in - 1]; --in; } elements[in] = temp; } } //交换顺序 private void swap(int one,int two){ int temp = elements[one]; elements[one] = elements[two]; elements[two] = temp; } //测试 public static void main(String[] args) { InsertSort insertSort = new InsertSort(5); insertSort.insert(3); insertSort.insert(6); insertSort.insert(4); insertSort.insert(90); insertSort.insert(23); insertSort.insertSort(); insertSort.display(); }}
结果
array[0]=====3array[1]=====4array[2]=====6array[3]=====23array[4]=====90
阅读全文
0 0
- 排序算法-插入排序
- 排序算法--插入排序
- 排序算法---插入排序
- 排序算法-插入排序
- 排序算法-插入排序
- 排序算法--插入排序
- 排序算法-插入排序
- 排序算法-插入排序
- 排序算法---插入排序
- 排序算法--插入排序
- 排序算法--插入排序
- 排序算法--插入排序
- 排序算法-插入排序
- 排序算法--插入排序
- 排序算法-插入排序
- 排序算法-插入排序
- 排序算法--插入排序
- 排序算法-插入排序
- jsp加载顺序
- VS2013 EF连接MySql
- MATLAB 赋值具有的非单一 rhs 维度多于非单一下标数
- 数据挖掘的基础应用
- Mac下用IDEA工具蛋疼的热部署问题
- 插入排序算法
- 想要学习网络数据安全?这些你们接触过么?
- 输出流中方法out.write与out.println的区别
- iOS常用第三方库
- jQuery学习之Ajax的load()方法
- weblogic路径获取
- linux 下mysql 报 ERROR 1045 (28000): Access denied for user '-root'@'localhost' (using password: YES)
- oracle监听程序,是什么时候,选择的listener.ora?答:是在创建监听服务的时候,而不是启动监听服务的时候
- java 中关于一元运算,二元运算,三元运算的说明