排序1,2......n的无序数组,时间复杂度为o(n),空间复杂度为o(1)
2016-04-26 15:56
393 查看
#include "stdafx.h" #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int a[] = { 10, 6, 9, 5, 2, 8, 4, 7, 1, 3 }; int len = sizeof(a) / sizeof(int); int temp; for (int i = 0; i < len;) { temp = a[a[i] - 1]; a[a[i] - 1] = a[i]; a[i] = temp; //当数字的大小等于位置大小的时候,说明该数字移到了正确位置 if (a[i] == i+1) { i++; } } for (int j = 0; j < len; j++) { cout << a[j] << " "; } cout << endl; system("pause"); return 0; }
相关文章推荐
- 主成分分析(PCA)特征选择算法详解
- activiti流程图动态创建
- Win7系统添加打印机无Print Spooler服务无注册表解决方法
- 根据两点经纬度计算距离
- 通过距离感应器获取实际距离[FAQ04538][Sensor]java层获得P_sensor距离传感器当前真实值,不止0,1
- uva1121 Subsequence(入门级)
- 一些算法题
- Java核心技术II读书笔记(二)
- [经典] 背包问题(二)
- 香河宏巨好不好,香河宏巨怎么样
- 004-storm集群搭建
- 旁路电容/去耦电容
- 图片超出撑破DIV处理技巧
- HTML5标签嵌套规则详解【必看】
- MySQL的数据类型
- 搭建基于ROS的导航系统
- Win32 GetKeyState和getasynckeystate
- opencv-随机数
- 关于ShapeDrawable应用的一些介绍(上)
- iOS应用架构谈-开篇