简单选择排序法
来源:互联网 发布:新浪网络猫耳宝贝 编辑:程序博客网 时间:2024/05/17 23:37
简单选择排序概念:第1趟,在待排序记录r[1]~r[n]中选出最小的记录,将它与r[1]交换;第2趟,在待排序记录r[2]~r[n]中选出最小的记录,将它与r[2]交换;以此类推,第i趟在待排序记录r[i]~r[n]中选出最小的记录,将它与r[i]交换,使有序序列不断增长直到全部排序完毕。
思路就在概念中:我们下面给出代码(仅供参考):
package javastudy;
public class Testit8 {
// 选择排序法
public static void main(String[] args) {
int[] numbers = { 49, 27, 65, 97, 76, 12, 38 };
int n = numbers.length;
for (int i = 0; i <= n - 2; i++) {//n个数字只需要跑n-1趟即可排好序
int min = numbers[i];
for (int j = i + 1; j <= n - 1; j++)// 最后一个数字为n-1 因为第一个数字为0
{
if (min > numbers[j]) {
min = numbers[j];
}
}
//判断一下最小的数出现在是什么位置
int j;
for (j = i; j <= n - 1; j++) {
if (numbers[j] == min) {
break;
}
}
if (j > i) {//这个判断条件是为了避免开头的数字为0的情况
//是在i跟后面找的,所以j应该是大于i
int temp = numbers[i];
numbers[i] = numbers[j];//j位置数字最小 ,交换位置
numbers[j] = temp;
}
}
for (int i = 0; i <= n - 1; i++) {
System.out.print(numbers[i] + "\t");
}
}
}
输出结果样例:12 27 38 49 65 76 97
- 简单选择排序法
- 数据结构 - 简单选择排序法
- 算法---简单选择排序法
- 选择排序-简单选择排序
- 【选择排序】简单选择排序
- 选择排序-简单选择排序
- 选择排序-简单选择排序
- 选择排序------简单选择排序
- 选择排序--简单选择排序
- 选择排序-简单选择排序
- 选择排序-简单选择排序
- 排序 -- 简单选择排序
- 排序-简单选择排序
- 排序。。。简单选择排序
- 简单排序---选择排序
- 简单排序:选择排序
- 排序-简单选择排序
- 【排序】简单选择排序
- tcp/ip详解(8-13)
- php 生成唯一id /唯一标识符/唯一订单号
- HTML基础知识(六)
- 基于Web开发的BBS系统
- codeforces 735 B Urbanization
- 简单选择排序法
- Ubuntu 16.04 64位+Qt 5.7.1+opencv 3.2.0 + opencv_contrib 3.2.0
- [bigdata-031] python3+selenium 做抓取
- 蓝桥杯——回形取数
- 会话技术
- HDU2062 Subset sequence
- Linux中使用lsof命令如何恢复删除的文件?
- 机房那些事儿---犯错之实时错误‘94’
- linux运维学习第八课