选择排序
2015-12-30 23:48
411 查看
先找出最小的值并将其与a[1]中的元素进行交换,接着找出a数组中次最小的元素与a[2]进行交换,一次找出其他的
/**
* 选择排序
* 对指定数组进行排序
* @param a 要排序的数组
*/
public static int[] selectSort(int[] a ){
if(a==null||a.length<0){
return null;
}
for(int i=0 ; i<a.length-1; i++){ //
int key = i; //默认将第一个元素的作为最小值
for(int j = i+1; j<a.length; j++){ //
if(a[key]>a[j]){ //
key = j; //选择出最小的值的下标
}
}
if(i!=key){
swap(a,key,i); //交换值
}
}
return a;
}
/**
* 交换数组中的两个数
* @param a 要交换的数组
* @param x 要交换的索引
* @param y 要交换的索引
*/
public static void swap(int[] a ,int x ,int y){
int temp = a[x];
a[x] = a[y];
a[y] = temp;
}
/**
* 选择排序
* 对指定数组进行排序
* @param a 要排序的数组
*/
public static int[] selectSort(int[] a ){
if(a==null||a.length<0){
return null;
}
for(int i=0 ; i<a.length-1; i++){ //
int key = i; //默认将第一个元素的作为最小值
for(int j = i+1; j<a.length; j++){ //
if(a[key]>a[j]){ //
key = j; //选择出最小的值的下标
}
}
if(i!=key){
swap(a,key,i); //交换值
}
}
return a;
}
/**
* 交换数组中的两个数
* @param a 要交换的数组
* @param x 要交换的索引
* @param y 要交换的索引
*/
public static void swap(int[] a ,int x ,int y){
int temp = a[x];
a[x] = a[y];
a[y] = temp;
}
相关文章推荐
- 点击弹出导航导航按钮菜单
- 开启AngularJS学习之旅
- IM系统框架
- 【cocos2d-x 3.x 学习与应用总结】3: CallFunc系列
- 静态成员变量初始化问题
- angularjs
- JavaScript基础——JSON
- LeetCode: 008-Contains Duplicate
- 常用正则表达式大全
- Swift 实现 iOS 类似微信输入框跟随键盘弹出的效果
- 通过C#代码实现空间离散点的克里金(kriging)插值(一) 计算原理
- response-实现验证码
- 测试 __try, __finally, __except
- 蓝懿IOS打飞机游戏练习
- Flask Web开发背景介绍及环境配置
- 闪存浪潮下不得不知的知识(2)-颗粒篇
- Random Walk for Image Segmentation 论文笔记
- android之旅16 自定义广播与无序有序广播
- 闪存浪潮下不得不知的知识(2)-颗粒篇
- jsonp解决CORS问题