Java数据结构与算法之数组排序——选择
来源:互联网 发布:zank 知乎 编辑:程序博客网 时间:2024/05/21 06:57
1)如此定义的原因:
在每次遍历数组的时候,都会把剩余无序数组中相对最小的那个元素放到原始数组的最左边。
2) 算法大概执行时间:
必要的交换次数为O(N),比较次数没变,仍为O(N2)。
3) 不变性
小于或等于out数据项的元素都是有序的。
4) 思路
A)设置一个outer标签,用于表示其左边的元素已经排好。初始值在数组的头位置,即0处,没经过一次循环,outer加1,直到数组的最右端即末尾。
B)设置一个标志位min,用于记录遍历之后的,最小的那个元素位置。
C)设置一个in标签,用于遍历还未排序的数组,其初始位置在数组的out+1的位置,终值为数组最右端即末尾处。这样做,可以避免已排序的数组,再次被排序。
D)交换条件是,比较min所指向的元素和in所指代的元素,如果min的元素大于in的元素,则两者交换。
主要算法的代码实现如下:
/** * 排序数组,用于对数组中的元素进行排序<br> * 采用选择排序 */ public void selectSort() { int min; for(int out = 0;out<elementPos;out++) { min = out; for(int in = out+1;in<elementPos;in++) { if(randomArray[min]>randomArray[in]) swap(min,in); } } }
其余代码,可以参考
传送门
0 0
- Java数据结构与算法之数组排序——选择
- Java数据结构与算法之数组排序——冒泡
- Java数据结构与算法之数组排序——插入
- 数据结构与算法——选择排序(Java实现)
- Java数据结构与算法之数组排序——奇偶排序
- 【数据结构与算法】——选择排序
- 【数据结构与算法】——选择排序
- Python3 数据结构与算法之选择排序
- 选择排序 Java数据结构与算法
- <三>java数据结构与算法 选择排序
- java数据结构与算法_____选择排序
- Java数据结构与算法---选择排序
- 数据结构与算法之排序算法---简单选择排序
- java数据结构与算法-简单排序-选择排序
- java数据结构与算法-简单排序-选择排序
- 算法与数据结构——选择,插入,希尔排序
- 数据结构与算法(java)——简单排序(冒泡,选择,插入)
- 数据结构与算法分析(Java语言描述)(1)—— 选择排序
- Linux命令行学习笔记
- 练习:360防丢卫士
- poj 1948 dp(组成面积最大的三角形)
- HTML学习记录<六> :表格
- AndroidUI 引导页面的使用
- Java数据结构与算法之数组排序——选择
- 判断一个树是不是平衡二叉树
- [HDU1000]
- struts2值栈valuestack的内存图及操作
- dubbo 自定义过滤器,打印接口调用信息
- JavaScript显示和隐藏某个div
- C#学习日记04---数据类型 之 整数类型
- QT5 学习之路14---对象模型
- 下载、编译Android源码简明版