八大排序之选择排序
2016-05-12 18:59
211 查看
概述
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是把0索引的元素,和索引1以后的元素都进行比较,第一次完毕,最小值出现在了0索引。同理,其他的元素就可以排好。
实现步骤
设定最小值的索引为0;一个布尔类型的开关;把0索引的元素,和索引1以后的元素都进行比较
找出最小值,如果不是本身,此时isChange为true,就与之交换。这步做完后,最前的元素会是最小的数。
针对所有的元素重复以上的步骤,除了最后一个。
int minIndex = 0; boolean isChange =false; for (int i = 0; i < a.length; i++) { for (int j = i + 1; j < a.length; j++) { if(a[j]<a[minIndex]){ minIndex = j; isChange = true; } } if(isChange){ a[i] =a[i] ^ a[minIndex]; a[minIndex] =a[minIndex] ^ a[i] ; a[i] =a[i] ^ a[minIndex]; } if (i<= a.length - 2) { minIndex = i +1; } isChange = false; }
相关文章推荐
- Go-Redis
- DB2数据库常用SQL命令学习总结汇总
- foreach循环
- 操作系统 实验三 进程调度模拟程序
- Leetcode数学类题目
- 【其他】大整数类Bignum
- NSSet / NSMutableSet / NSIndexSet / NSMutableIndexSet
- Java线程与多线程教程
- pptv泥够了!pptv“关闭”事件为营销炒作坐实!
- View(视图)——对话框之单选对话框和复选对话框
- 模态窗口
- 在python中配置MySQL数据库
- pptv泥够了!pptv“关闭”事件为营销炒作坐实!
- 网络get/post请求异步同步请求回调
- 日期时间类
- android paint类函数讲解(一
- xtrabackup恢复脚本
- 第十二周上机实践项目-项目1-(2)-实现复数类中的运算符重载
- View(视图)——对话框之一般对话框
- 二部图匹配