排序算法系列---简单选择排序(C++)
2016-06-23 15:17
274 查看
简单选择排序相对来说也比较容易理解,他跟冒泡的区别在于:省去了多余的数据交换操作,定位较小元素的位置并记录下标,在比较完所有的数据元素之后再把最小的数据元素提到序列前端。
但是他的时间复杂度仍然跟冒泡排序一样,为O[n2],性能上略有优势。
# include <iostream> # define SIZE 10 using namespace std; void Select_Sort(int a[],int n); void Select_Sort(int a[],int n) { int i,j,min,temp; for (i=0;i<n-1;i++) { min = i; for (j=i+1;j<n;j++) { if (a[min]>a[j]) { min = j; } } if(i != min) { temp = a[i]; a[i] = a[min]; a[min] = temp; } } } void main() { int number[SIZE] = {19,23,12,24,66,47,53,85,78,10}; int num; Select_Sort(number, SIZE); for(num=0;num<SIZE;num++) { cout<<number[num]<<" "; } }
但是他的时间复杂度仍然跟冒泡排序一样,为O[n2],性能上略有优势。
相关文章推荐
- 最值得关注的10个C开源项目和最全面的 C++ 资源、框架大全
- 多文件组成的c++课程设计学生管理系统(单链表)
- VIJOS-P1156
- Longest substring without repeat(C++)
- C++ 代码缩进
- c++读取txt文件到string
- 栈的链式 结构实现
- string 的简单实现
- C、C++文件夹文件遍历
- C语言笔记系列(二)--基本数据类型
- C语言的面向对象写法
- c/c++中float和double类型的存储
- C++之友元:友元函数和友元类详解
- STL之list
- C++ STL 之 unordered_set 介绍
- C++读写excel文件(一)—— 用ODBC读写
- C++ 类的对象管理模型初讲
- C++读写excel文件(三)—— 用OLE读写
- C++读写EXCEL文件方式比较
- c++自定义类型