基础算法之 选择排序
来源:互联网 发布:10nba总决赛数据 编辑:程序博客网 时间:2024/06/05 08:27
概念 :每一趟从待排序的数据元素中选出最 ( 大/小 ) 值的一个元素,顺序放在已排好序的数列的最后或最前,直到全部待排序的数据元素排完。 如下图
下面演示java示意代码:
方案一 :
int [] arrays = {4,13,56,42,78,0};for(int i = 0; i< arrays.length-1;i++){ for(int j = i+1; j< arrays.length;j++) { if(arrays[i] > arrays[j]) { int temp = arrays[i]; arrays[i] = arrays[j]; arrays[j] = temp; } }}
方案二 :
int [] arrays = {4,13,56,42,78,0};for(int i = 0; i< arrays.length-1;i++){ int minIndex = i; for(int j = i+1; j< arrays.length;j++) { if(arrays[i] > arrays[j]) { minIndex = j; } } if(minIndex != i) { int temp = arrays[i]; arrays[i] = arrays[minIndex]; arrays[minIndex] = temp; }}
.
.
.
oc代码如下:
NSMutableArray *arrays = [NSMutableArray arrayWithArray:@[@31,@3,@8,@9]];for (int i = 0; i < arrays.count-1; i++) { //默认最小位置是初始位置 int minIndex = i; for (int j = minIndex+1; j < arrays.count; j++) { //记住最小角标 if (arrays[minIndex] > arrays[j]) { minIndex = j; } } if (minIndex != i) { [arrays exchangeObjectAtIndex:i withObjectAtIndex:minIndex]; } }注意 : 数组的操作是在内存上,如果按照如上方案一去实现,频繁操作内存的话,是损耗性能的。
阅读全文
0 0
- 基础算法之选择排序
- 算法基础之选择排序
- 算法基础之选择排序
- 基础算法之 选择排序
- 算法基础之排序篇-选择排序
- 基础算法之排序(2)--选择排序
- 算法(algorithms)基础之:选择排序
- java基础算法之选择排序
- 算法基础之选择排序法
- 算法基础之----直接选择排序
- 算法基础之----二元选择排序
- 基础算法系列(十五)排序算法之选择排序
- 【基础算法】排序-简单排序之二(选择排序)
- 【算法基础】选择排序
- 【基础算法】选择排序
- 基础算法之四--排序: 之选择排序
- 基础算法之排序(2)--选择排序 改进
- 基础算法之排序(2)--简单选择排序
- 学习笔记MFC_1
- 51nod 1600 Simple KMP 后缀自动机+树链剖分+线段树
- openvpn安装
- kafka版本不匹配问题
- ECMAScript 6 入门学习(5.数值的扩展)
- 基础算法之 选择排序
- [Err] 1093
- iOS备忘录之QQ、腾讯和微博开放平台创建应用需要的素材
- 网站统计
- Java线程(一):线程结构图及状态
- Android Render(二)WindowManagerImpl的addview跟viewGroup的addview有什么不同?
- Exception executing batch: org.hibernate.StaleStateException: Batch update returned unexpected row
- 20171101
- day10