选择排序原理及实现
2014-08-03 09:18
260 查看
选择排序实现是每趟将循环的一一个数据与后面的数据相比较,得到最小元素,存储在循环开始出,然后接着重复执行。
实现:
public class Test{
public static void main(String[] args){
int[] data = {1,4,-4,2,7,6,-7,3,9,0};
selectSort(data);
for(int i=0;i<data.length;i++){
System.out.print(data[i]+" ");
}
}
private static void selectSort(int[] data){
for(int i=0;i<data.length;i++){
for(int j=i+1;j<data.length;j++){
if(data[i]>data[j])
swap(data,i,j);
}
}
}
private static void swap(int[] data,int x,int y){
int temp = data[x];
data[x] = data[y];
data[y] = temp;
}
}
选择排序最差、平均时间复杂度都是O(N²)
实现:
public class Test{
public static void main(String[] args){
int[] data = {1,4,-4,2,7,6,-7,3,9,0};
selectSort(data);
for(int i=0;i<data.length;i++){
System.out.print(data[i]+" ");
}
}
private static void selectSort(int[] data){
for(int i=0;i<data.length;i++){
for(int j=i+1;j<data.length;j++){
if(data[i]>data[j])
swap(data,i,j);
}
}
}
private static void swap(int[] data,int x,int y){
int temp = data[x];
data[x] = data[y];
data[y] = temp;
}
}
选择排序最差、平均时间复杂度都是O(N²)
相关文章推荐
- 【排序算法】选择排序原理及Java实现
- 排序算法一:冒泡排序,插入排序以及选择排序原理与MATLAB实现
- 常见对象_数组高级选择排序原理图解、数组高级选择排序代码实现
- 简单选择排序的原理与实现
- Python实现的选择排序算法原理与用法实例分析
- 用选择的方式对数组进行排序,并写出对应的优化后的代码实现。(重点写思路、原理)
- 简单排序Java实现(一):冒泡排序,选择排序,插入排序(原理及实现)
- 【Java】数组的冒泡排序和选择排序(原理+代码实现)
- C语言 选择排序算法原理和实现 从数组中 找出最小的元素然后交换位置
- 选择排序和快速排序算法原理和Python实现
- 选择排序原理分析及Java实现
- 算法导论:选择排序的原理与实现
- 每日一算法之选择排序原理及实现
- 选择排序—简单选择排序(Simple Selection Sort)原理以及Java实现
- 各种算法的C#实现系列1 - 合并排序的原理及代码分析
- 选择排序的php实现
- java实现的选择排序
- 详细解说NParsing框架实现原理 —— 3)排序组件(ObSort)
- Java 实现选择排序代码
- 内排序算法的java实现---直接选择排序