排序算法(三):选择排序
来源:互联网 发布:mac怎么修改登录密码 编辑:程序博客网 时间:2024/06/04 19:54
定义:
假设有n个记录的序列,由最左边开始排序,每次排序都是在n-i+1个元素中选出最小的记录,与第i个元素进行交换。
特点:
每次排序只会发生一次数据交换。
时间复杂度:最好是0,最坏是O(n^2)
实现:
public class Selection { public void sort(int[] arr){ int min=0; for(int i=0;i<arr.length;i++){ min=i; for(int j=i+1;j<arr.length;j++){ if(arr[j]<arr[min]){ min=j; } } if(min != i){ SortUtils.swap(arr,i,min); } SortUtils.print(arr); } } public static void main(String[] args){ int[] array=SortUtils.getArray(); Selection selection=new Selection(); selection.sort(array); }}
0 0
- 排序算法(三):选择排序
- 排序算法(三)选择排序
- 排序算法(三)选择排序
- 排序算法(三)选择排序
- 排序算法(三):简单选择排序
- 排序算法 -- (三)简单选择排序
- 排序算法(三)---- 选择排序
- 排序算法(三):简单选择排序
- 排序算法(三):选择排序
- (三)算法--排序算法选择排序和冒泡排序
- 常用排序算法总结(三)----选择排序 堆排序
- 算法系列(三)排序算法上篇--冒泡排序插入排序和选择排序
- 八大排序算法(三)简单选择排序
- 经典排序算法(三)选择排序--C++
- 排序算法之——直接选择排序(三)
- 排序算法(三)直接选择排序(Straight Select Sorting)
- 排序算法之三选择排序
- java排序算法之三选择排序
- 详解Android中AsyncTask的使用
- UVA10375 Choose and divide 组合数
- 【转】Java 线程池学习
- linux 进程间通信——信号
- Spring SpringMvc 3.0 + MyBatis 整合
- 排序算法(三):选择排序
- 如何学好游戏编程 一
- HTK搭建大词汇量连续语音识别系统(一)
- 在数学的海洋中飘荡
- HODJ 1021 Fibonacci Again
- float字节序和主机序 网络序传输
- Linux Socket学习(三)
- C++的隐式转换和explicit关键字---用于防止构造函数隐式转换
- struct和typedef struct