几个基础算法介绍和实现——选择排序
2017-07-02 22:53
309 查看
选择排序
选择排序实现上与插入排序类似,都是将数据从无序区取数排入到有序区中,所不同的是插入排序是将无序区的第一个元素直接插入到有序区对应位置实现排序,而直接选择排序是从无序区选一个最小的元素直接放到有序区的最后算法描述如下:
将序列分成有序和无序两部分
在无序区中找到最小元素,放到已排序序列的末尾。以此类推,直到所有元素均放入有序区末尾
代码如下 void Sort::selectSort(int(&a)[10], int n) { int i, j; for (i = 0; i < n; i++) { for (j = i+1; j < n;j++) { if (a[i]> a[j]) swap(a[i],a[j]); } } } int main(void){ Sort m_sort; int a[10] = { 34, 8, 64, 51, 32, 21, 99, 108, 54, 33 }; m_sort.selectSort(a,10); for (int i = 0; i < 10; i++) { cout << a[i] <<endl; } system("pause"); return EXIT_SUCCESS; }
运行结果
选择排序的算法和实现较为简单,选择排序是不稳定的排序,平均时间复杂度是O(n2)
相关文章推荐
- 几个基础算法介绍和实现——插入排序
- 几个基础算法介绍和实现——基本概念
- 几个基础算法介绍和实现——希尔排序
- 几个基础算法介绍和实现——冒泡排序
- 小王的尴尬日常(二)---Openssl 实现国密算法(基础介绍和产生秘钥对)
- DSP上实现视频算法的几个基础
- DSP上实现视频算法的几个基础
- k-means(k均值聚类)算法介绍及实现(c++)
- 基础的东西,关于二叉树的几个算法 C#的
- java实现的18位身份证格式验证算法-Java基础-Java-编程开发
- LVS算法介绍[基础知识]
- PHP 基础算法实现
- 复习:支持向量机的理论基础—学习算法的实现方法
- STL 中几个简单的数值算法实现
- 介绍几个常见的压缩算法
- 【数据结构与算法基础】以数组实现的循环队列 / Circular Queue implemented by array
- 本文从以下几个基础的方面介绍dom4j操作XML的使用小结,挺好!
- 选择排序(selection sort)算法实现
- MD5的介绍,算法和实现
- 密码分析学策略之带字典的暴力破解的几个思考与算法实现