排序 -- 简单选择排序

2023-05-16

选择排序思想:每一趟 n-i+1(i=1,2,3...n-1)个记录中选择关键字最小的记录作为有序序列的第i个记录

简单选择排序:通过n-i次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,和第i(i是1到n之间)个记录交换

属于简单算法,复杂度为O(n) = O(n*n),性能上稍稍优于冒泡

稳定的,基于比较的算法


C++代码如下:

void simple_select_sort(int *a, int len)
{
	for(int i=0; i<len-1; i++)
	{
		int min = i;
		for(int j=i+1; j<len; j++)
		{
			if(a[j] < a[min])
				min = j;
		}
		if(min != i)
		{
			int temp = a[min];
			a[min] = a[i];
			a[i] = temp;
		}
	}
}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

排序 -- 简单选择排序 的相关文章

  • 微信小程序快速入门

    微信小程序快速入门 在这里首先祝大家国庆节快乐 xff0c 其实原本文章都没有准备好 xff0c 也没有打算更文的 xff0c 那还是将就一下吧 xff0c 发个简单的 前言 相信大家对微信小程序并不陌生 xff0c 以前我们接触网络刚开始
  • RabbitMQ快速入门,这一篇看完教你学会

    RabbitMQ快速入门 今天学习RabbitMQ xff0c 你知道RabbitMQ是什么吗 xff0c RabbitMQ是一种消息中间件 xff0c 我们在写很多业务的时候 xff0c 有时候我们需要考虑到消息的实时性 xff0c 时效
  • 什么是协议栈

    协议栈是什么 1 协议栈是什么 简介 协议栈 xff0c 英语名称为Protocol stack xff0c 又称协议堆叠 xff0c 是计算机网络协议套件的一个具体的软件实现 协议套件中的一个协议通常是只为一个目的而设计的 xff0c 这
  • 任务,任务的切换,(TCB)

    任务也可以称作为进程 xff0c 是一个简单的程序 xff0c 该程序认为 CPU完全属于自己 xff0c 实时的应用的程序的设计的时候分割成了许多的任务 xff0c 每一个任务都对应应用的某一部分 每一个任务都被赋予一定的优先级 xff0
  • 浅谈pthread_setschedparam的使用

    浅谈pthread setschedparam 的使用 int pthread setschedparam pthread t target thread int policy const struct sched param param
  • 互斥量、临界区、信号量、事件标志组和消息邮箱

    http ejs90ejs iteye com blog 1351642 互斥量 临界区 信号量 事件标志组和消息邮箱 2010年07月23日 为了好的理解互斥量 临界区 信号量 事件标志组和消息邮箱 xff0c 下面一些知识对初学者来说很
  • C语言中的多线程简介

    线程 Thread 专业术语称之为程序执行流的最小单元 线程是不会执行程序的 xff0c 可以理解成线程就是一个载体 xff0c 将 要执行的代码 运送到CPU进行处理 多线程就是多个线程同时并发执行 xff08 注意并发与并行的区别 xf
  • Android包管理机制(一) PackageInstaller的初始化

    Android包管理机制 xff08 一 xff09 PackageInstaller的初始化 前言 包管理机制是Android中的重要机制 xff0c 是应用开发和系统开发需要掌握的知识点之一 包指的是Apk jar和so文件等等 xff
  • 无人机与视觉结合项目

    无人机巡航实现火灾检测项目 硬件 xff1a 无人机选用的是匿名科创的无人机 xff0c 是由stm32作为主控 选用jetson nano作为视觉识别的主要处理器 将jetson nano挂载到无人机上 无人机巡航原理 上位机的地图里设置
  • 万里挑一!Intel选中研扬UP Squared Board的理由

    xfeff xfeff 近日 xff0c 研扬携手Intel 全力打造一款 UP SQUARED GROVE 物联网开发套件 作为这款套件的核心 UP UP Squared 来自于工业自动化和智能控制解决方案的主要开发商 研扬科技 工业自动
  • ROS环境下串口通信

    1 环境 xff1a 操作系统 Ubuntu 14 04ROS版本 ROS Indigo 2 步骤 xff1a 2 1 下载安装ROS对应版本的工具包 此处为indigo版 输入以下命令安装 xff1a sudo apt span clas
  • docker的迁移备份

    在工作中 xff0c 有时候可能需要把正在运行的容器 xff0c 迁移到另外一台服务器上 或者需要把某个容器备份 本文档记录docker如何迁移和备份容器 容器保存为镜像 下面是我虚拟机中正在运行的容器 以mynginx容器为例 xff0c
  • 技术面试(一)认识技术面试

    面试这件事听起来似乎挺简单 xff0c 做起来却非常困难 不妨先听听面试官的真实 吐槽 xff1a 是不是拿算法题让候选人做就好了 xff1f 可如果他做过这个题目怎么办 xff1f 候选人都是工作好多年的老司机了 xff0c 怎么有面试官
  • Pix4飞控硬件平台框架(一)

    硬件平台简介 本文只是为了让大家简单入门为主 xff0c 所以我选择的硬件学习平台是Pixhawk系列的mRoPixhawk xff0c 兼容原始版本Pixhawk1 xff0c 基于Pixhawk project FMUv3开源硬件设计
  • Pix4飞控常见问题解决方法(二)

    一 无法解锁 xff08 黄灯闪烁 xff09 无法解锁的原因会有多种 xff0c 请按照如下步骤进行检查 xff1a 1 初始设置是否全部完成 a 机架类型选择是否正确 xff0c 或者你根本就没有选择 xff1f 注意 xff0c 新版
  • 基于libuvc的相机配置说明

    很多相机支持uvc 1 的传输格式 ros官网自带的libuvc xff0c 支持uvc格式的视频流 xff0c 本文主要对这个链接中的一些细节 xff0c 进行补充说明 step 1 插入usb step 2 获取基本信息 查找camer
  • Ehcache依赖版本问题:Another CacheManager with same name 'es' already exists in the same VM.

    最近在写一个shiro 的demo用到Ehcache缓存配置 结果在启动项目的时候出错 span style font size 14px Caused by net sf ehcache CacheException Another Ca
  • ubuntu 创建新用户并添加到docker组

    useradd myuser passwd myuser first create the directory mkdir p home myuser usermod s bin bash d home myuser myuser cp r
  • SM2 签名前要进行的预处理操作

    一般情况下 xff0c 计算数字签名时应执行以下操作 xff1a 1 计算原始数据的 Hash 值 xff1b 2 将 Hash 值作为输入 xff0c 计算签名函数的输出 并不是对原始数据直接签名 xff0c 而是对 Hash 值签名 验
  • VR行业的发展现状和前景

    5G技术的应用推广 xff0c 加速推动虚拟现实不断发展和完善 xff0c VR产业迅速在各个领域和行业都得到广泛应用 xff0c 最好直观的感受就是知觉体验得到了良好的增强作用 本文的主要内容是简单概括VR技术的发展现状和发展前景 一 V

随机推荐

  • Intel真情告白:我的眼里只有你 –UP Squared Board

    近期 xff0c 物联网领域最大的喜讯莫过于研扬科技携手Intel 共同推出一款 UP SQUARED GROVE 物联网开发套件 对于这次喜结良缘 xff0c Intel 官网也是不加修饰的大方昭告天下 xff1a 我的眼里只有你 xff
  • 【问题与方法】联想拯救者双系统重启卡死机解决方案

    码字不易 xff0c 如果各位看官感觉该文章对你有所帮助 xff0c 麻烦点个关注 xff0c 如果有任何问题 xff0c 请留言交流 如需转载 xff0c 请注明出处 xff0c 谢谢 文章链接 xff1a 问题与方法 联想拯救者双系统重
  • 【深度学习】训练集、测试集和验证集

    码字不易 xff0c 如果各位看官感觉该文章对你有所帮助 xff0c 麻烦点个关注 xff0c 如果有任何问题 xff0c 请留言交流 如需转载 xff0c 请注明出处 xff0c 谢谢 文章链接 xff1a https blog csdn
  • 【深度学习】ubuntu系统指定gcc版本并调整优先级

    sudo apt install build essential gcc version xff08 查看gcc版本 xff09 可以看到我的gcc版本是4 8 5 安装最新版gcc9 sudo apt install software p
  • 【深度学习】Ubuntu增加Swap交换空间大小

    前言 xff1a 做Ubuntu系统时 xff0c 选择了默认空间分配方案 xff0c Swap空间仅2G xff0c 而你的内存有16G xff0c 分给Swap空间至少为内存的1倍 xff0c 最好是内存值的2倍 xff0c 系统相当卡
  • 【论文阅读】Anchor3DLane: Learning to Regress 3D Anchors for Monocular 3D LaneDetection

    Anchor3DLane 针对单目的3D车道线检测去学习回归3D锚 摘要 xff1a 单目的3D车道线检测是一个非常具有挑战性的问题 xff0c 因为他缺少深度的信息 xff0c 3D车道线检测一个非常流行的方法是将前视图转换成鸟瞰图 xf
  • 【深度学习】训练模型结果同时显示,模型结果对比

    码字不易 xff0c 如果各位看官感觉该文章对你有所帮助 xff0c 麻烦点个关注 xff0c 如果有任何问题 xff0c 请留言交流 如需转载 xff0c 请注明出处 xff0c 谢谢 文章链接 xff1a 深度学习 训练模型结果同时显示
  • 【问题与方法】如何使用vscode配置远程git仓库

    码字不易 xff0c 如果各位看官感觉该文章对你有所帮助 xff0c 麻烦点个关注 xff0c 如果有任何问题 xff0c 请留言交流 如需转载 xff0c 请注明出处 xff0c 谢谢 配置git xff0c 看我这一篇其实就够了 问题与
  • 【车道线算法】GANet-车道线检测环境配置一文通关

    目录 GANet配置全纪录 下载代码 conda环境部署 安装torch和cudatoolkit 安装其他包 编译 总结 GANet配置全纪录 下载代码 GitHub Wolfwjs GANet A Keypoint based Globa
  • 【雷达】如何将三维点云映射到二维平面

    最近在做基于雷达点云的交通标识牌识别时 xff0c 需要按照HAD格式进行输出 xff0c 由于交通标识牌不一定会与坐标轴垂直 xff0c 那么如何找到矩形标识牌的四个顶点 xff0c 是待解决的问题 由于标识牌一定是平面的 xff0c 三
  • ceres 拟合曲线

    假设有一条满足以下方程的曲线 xff1a 其中a b c为曲线的参数 xff0c w为高斯噪声 这是一个非线性模型 假设我们有N个关于x y的观测数据点 xff0c 想根据这些数据点求出曲线的参数 那么 xff0c 可以求解下面的最小二乘问
  • 独家!了不起的UP系列产品,不一样的开发板—UP Board(一)

    AAEON自2016年推出第一代UP board问世以来 xff0c 其信用卡大小的苗条小身材 xff08 世界首创Intel平台信用卡大小开发板 xff09 xff0c 配备上Intel Atom x5 z8350 处理器 xff0c 兼
  • 追求技术之路 - 那些陪伴我的书籍

    如今已经在广州一家嵌入式公司实习 xff0c 分享大学里度过的一些书籍 xff0c 有些还没读完 xff0c 个人比较喜欢经典书籍 xff0c 研读起来就有种奇妙的感觉 xff0c 比起人与人之间的复杂的关系 xff0c 书籍带给我的感觉很
  • 编程之美 -- 中国象棋将帅问题

    下过中国象棋的朋友都知道 xff0c 双方的 将 和 帅 相隔遥远 xff0c 并且它们不能照面 在象棋残局中 xff0c 许多高手能利用这一规则走出精妙的杀招 假设棋盘上只有 将 和 帅 二子 xff08 为了下面叙述方便 xff0c 我
  • C++单元测试工具 -- CppUnit

    CppUnit 作为C 43 43 语言的一款测试工具 xff0c 其实也是一个开源项目 xff0c 与JUnit一样 xff0c 用来方便开发人员进行单元测试的工具 项目地址 xff1a http sourceforge net apps
  • 拒绝游戏!发愤图强!

    立帖为证 xff01 xff01 xff01
  • C++ STL — 第6章 STL容器(二)deque

    C 43 43 STL容器deque和vector很类似 xff0c 也是采用动态数组来管理元素 使用deque之前需包含头文件 xff1a include lt deque gt 它是定义在命名空间std内的一个class templat
  • C++ STL — 第6章 STL容器(三)list

    一 list基础 List使用一个双向链表来管理元素 图一显示了list的结构 图一 list的结构 任何型别只要具备赋值和可拷贝两种性质 xff0c 就可以作为list的元素 二 list的功能 list的内部结构和vector和dequ
  • STL list remove和sort函数

    include lt iostream gt include lt list gt include lt iterator gt using namespace std bool cmp int a int b return a gt b
  • 排序 -- 简单选择排序

    选择排序 思想 xff1a 每一趟 n i 43 1 xff08 i 61 1 2 3 n 1 xff09 个记录中选择关键字最小的记录作为有序序列的第i个记录 简单选择排序 xff1a 通过n i次关键字间的比较 xff0c 从n i 4