博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c/c++实现选择排序
阅读量:2090 次
发布时间:2019-04-29

本文共 517 字,大约阅读时间需要 1 分钟。

选择排序 -

首先初始化最小元素索引值为首元素,依次遍历待排序数列,若遇到小于该最小索引位置处的元素则刷新最小索引为该较小元素的位置,直至遇到尾元素,结束一次遍历,并将最小索引处元素与首元素交换;然后,初始化最小索引值为第二个待排序数列元素位置,同样的操作,可得到数列第二个元素即为次小元素;以此类推。

时间复杂度:O(N2)   稳定性:不稳定

/*选择排序*/void selectSort(vector
&arr, int bgn, int end){
for (int i = bgn; i < end; ++i) {
int minIndex = i; for (int j = i + 1; j < end; ++j) {
if (arr[j] < arr[minIndex]) minIndex = j; } if (minIndex != i) mySwap(&arr[i], &arr[minIndex]); }}

转载地址:http://dimqf.baihongyu.com/

你可能感兴趣的文章
Java并发与多线程
查看>>
对于多线程程序,单核cpu与多核cpu是怎么工作的
查看>>
多线程和CPU的关系
查看>>
认识cpu、核与线程
查看>>
关于Java健壮性的一些思考与实践!
查看>>
如何避免自己写的代码成为别人眼中的一坨屎!
查看>>
Postman 安装及使用入门教程
查看>>
获取指定包下所有自定义注解并提取注解信息
查看>>
Windows 环境下 Git clone pull fetch 慢 解决之道
查看>>
Redis (error) NOAUTH Authentication required.解决方法
查看>>
plsql窗口中文显示的是横版的 问题解决办法
查看>>
使用notePad修改将文件格式保存后不起作用
查看>>
如何查询oracle会话及锁 如何查锁了哪张表?如何杀掉会话
查看>>
Git常用命令速查手册
查看>>
Redis运维利器 -- RedisManager
查看>>
分布式之REDIS复习精讲
查看>>
分布式之数据库和缓存双写一致性方案解析
查看>>
Redis集群
查看>>
Oracle 查看和扩展表空间
查看>>
记一次线上Java程序导致服务器CPU占用率过高的问题排除过程
查看>>