经典排序算法(三)选择排序--C++
2015-11-25 20:45
381 查看
选择排序:每一次将从待排序的数据元素中筛选出最小(或最大)的一个元素,存放在起始位置,直到全部待排序的数据元素排完。其最小时间代价为o(n2)o(n^{2}),虽然它相对于冒泡排序法速度提升,但是本身稳定性较差,例如数组中[5,5,3]从小到排序,第一个5会排在第二个5后面。
[code]//选择排序法 #include <iostream> using namespace std; const int N = 10; int main() { int data = {1, 5, 3, 8, 9, 10, 4, 2, 6, 7}; cout << "排序之前 " ; for(int i = 0; i < N; i++) cout<< data[i] <<" "; cout << endl; for(int i = 0; i < N; i++) { int temp = i; for(int j = i+1; j < N; j++) { if(data[temp]>data[j]) temp = j; } if(temp!=i) { int te = data[i]; data[i] = data[temp]; data[temp] = te; } } cout << "排序之后 "; for(int i = 0; i < N; i++) cout<< data[i] <<" "; cout << endl; return 0; }
相关文章推荐
- 扫地僧C++视频学习记录
- C++中 std::vector用法
- C++设计模式 之 “对象性能” 模式:Singleton、Flyweight
- C++11学习笔记(一)
- C++设计模式 之 “接口隔离” 模式:Facade、Proxy、Mediator、Adapter
- 【C语言】【笔试题】使用回调函数编写冒泡排序,可以排序整形数组,也可以排序字符串
- C++ 内存分配(new,operator new、placement new)详解
- C++ pair(对组)用法(转)
- C语言模块化程序设计概念理解
- C++右值引用
- C++中的const
- c++在工作中需要知道的小知识点
- C语言开发总结(六)
- C语言开发总结(五)
- C++primer plus第六版课后编程练习答案4.10
- VC++中MCI播放音频文件 【转】
- C语言开发总结(四)
- C++primer plus第六版课后编程练习答案4.9
- C语言开发总结(三)
- C语言:判断1000年---2000年之间的闰年