简单选择排序
2016-02-28 11:42
211 查看
1.简单选择排序算法的基本思想:通过i-1次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(1<=i<=n)个记录进行交换。
2.简单选择排序的时间复杂度为O(n^2),虽然和冒泡的时间复杂度相同,但是简单选择排序的性能是略优于冒泡排序的。
3.简单选择排序算法的实现:
2.简单选择排序的时间复杂度为O(n^2),虽然和冒泡的时间复杂度相同,但是简单选择排序的性能是略优于冒泡排序的。
3.简单选择排序算法的实现:
/** * 简单选择排序 * @param arr:待排序的数组 * @return:返回排好序的数组 */ public int[] simpleSelectSort(int[] arr){ for(int i=0;i<arr.length;i++){ //假设当前的下标为最小值的下标 int min = i; for(int j=i+1;j<=arr.length-1;j++){ //如果有小于当前最小值的关键字,将此关键字的下标赋值给min if (arr[min] > arr[j]) { min = j; } } //如果min不等于i,说明找到了最小值,进行交换 if (i!=min) { swap(arr,i,min); } } return arr; } private void swap(int[] arr, int i, int min) { int temp = arr[i]; arr[i] = arr[min]; arr[min] = temp; }
相关文章推荐
- 在vim下,实现nesC语句的高亮
- The 11th Zhejiang Provincial Collegiate Programming Contest->Problem G:G - Ternary Calculation
- 机电一体化-------学习笔记一
- <转> JAVA CAS原理深度分析
- Win7系统Oracle11g服务端和客户端连接数据库配置
- poj3463 最短路和次短路 计数
- 个人学习-java-非static静态代码块
- Android APP架构的那点事儿[MVP架构搭建]
- Hibernate程序碰到的两个问题
- Js事件列表
- 封装json ajax函数
- 挖金子---小爬虫
- 妙用javascript:void(0)
- java应用命名规范(自己总结的哈)
- 读ibatis源码—为什么说SqlMapClient是线程安全的
- 对项目开发中的一点感悟
- Spirng MVC中常用的注解
- Java模板引擎Velocity基本语法
- UVA 10815 Andy's First Dictionary(STL)
- OpenStack 部署总结之:在CentOS 6.5上使用RDO单机安装icehouse(Ml2+GRE)