插入排序
来源:互联网 发布:最新课件制作软件 编辑:程序博客网 时间:2024/05/21 06:03
实现思路
有一个无序数组 A
循环 i 从第 0 开始到 A 的长度, 将已经有序的第 0 ~ i 个数之间的数当成一个数组A’ ( 如果 i = 0, 则此时 A’ 中只有一个元素), 依次把第 i + 1 个数放入到 A’ 中合适的位置. 最终将无序数组 A 变成有序数组.
伪代码
for i = 1 to array.length
……key = array[i]
……j = i - 1
……//将A[i] 插入到有序数组 A[0 .. i - 1]
……while j >= 0 && A[j] > key
…………A[j + 1] = A[j]
…………j = j - 1
……A[j + 1] = key
OC实现
// 一个无序数组array NSMutableArray *array = [NSMutableArray arrayWithArray:@[@5, @2, @4, @6, @1, @3]]; //将array以插入排序的方式变成有序数组 for (int j = 1; j < array.count; j++) { int key = [array[j] intValue]; int i = j - 1; //将第 i 个数插入到有序数组 array[0 .. i - 1]中 while (i >= 0 && [array[i] intValue] > key) { array[i + 1] = array[i]; i = i - 1; } array[i + 1] = [NSNumber numberWithInt:key]; NSLog(@"%@", array); }
阅读全文
0 0
- 插入排序-【插入排序】
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 织梦手机端文章页图片被拉长解决方式
- MySQL触发器
- 系统间通信方式之(Kafka的集群方案介绍结束3)(二十二)
- Fiori2.0学习笔记-controller
- win10下安装使用pytorch以及cuda9、cudnn7.0
- 插入排序
- EMAC
- iOS开发- clang -rewrite-objc的使用
- NestedScrollView嵌套RecycleView的问题
- springCloud入门(二)eureka分布式注册中心
- XMLHttpRequest对象详解
- Opencv学习笔记
- APP的CPU,内存,耗电,流量测试工具
- Asp.net中GridView使用详解