当前位置: 首页 > news >正文

03.选择排序

一、题目思路

        选择排序是一种简单直观的排序算法。它的工作原理是:首先在未排序序列中找到最小(或最大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(或最大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕

外层循环:只需要排n-1个数
内层循环:比较时j从下一个数开始,直到最后一个数,记下最小值索引

二、代码实现

#include <stdio.h>void select_sort(int *arr, int size)
{int i;int j;int tmp;int min_index = 0;//排n-1个位置即可for (i = 0; i < size - 1; i++) {//找未排序数组中最小元素,记下索引,用于与待排位置交换min_index = i;for (j = i+1; j < size; j++){if (arr[j] < arr[min_index]) {min_index = j;}    }tmp = arr[i];arr[i] = arr[min_index];arr[min_index] = tmp;}return;
}void show(int *arr, int size)
{for (int i = 0; i < size; i++) {if (i==size-1)printf("%d\n", arr[i]);elseprintf("%d,", arr[i]);}return;
}int main()
{int num[] = {33,5,18,1,1,2,9};int size = sizeof(num)/sizeof(int);show(num, size);select_sort(num, size);show(num, size);return 0;
}
排序前
33,5,18,1,1,2,9
排序后
1,1,2,5,9,18,33

相关文章:

03.选择排序

一、题目思路 选择排序是一种简单直观的排序算法。它的工作原理是&#xff1a;首先在未排序序列中找到最小&#xff08;或最大&#xff09;元素&#xff0c;存放到排序序列的起始位置&#xff0c;然后&#xff0c;再从剩余未排序元素中继续寻找最小&#xff08;或最大&#xff…...

02_登录窗口

新建场景 重命名为GameRoot 双击GameRoot进入新场景 同样摄像机清除格式 删除平行光并关闭渲染灯光的天空盒 新建空节点重命名为GameRoot GameRoot为游戏的根节点 在整个游戏中都不会被删除 在游戏的根节点下创建UI的根节点Canvas 创建一个空节点 作为UI根节点下的 登录场景UI…...

NodeJS | 搭建本地/公网服务器 live-server 的使用与安装

目录 介绍 安装 live-server 安装方法 安装后的验证 环境变量问题 Node.js 环境变量未配置正确 全局安装的 live-server 路径未添加到环境变量 运行测试 默认访问主界面 访问文件 报错信息与解决 问题一&#xff1a;未知命令 问题二&#xff1a;拒绝脚本 公网配置…...

SystemUI 实现音量条同步功能

需求&#xff1a;SystemUI 实现音量条同步功能 具体问题 以前在SystemUI 下拉框添加了音量条控制&#xff0c;目前发现在SystemUI下拉框显示状态的情况下&#xff0c; 按键或者底部虚拟导航点击音量加减时候&#xff0c;SystemUI音量条不更新。 如下图&#xff1a;两个Syste…...

嵌入式知识点总结 C/C++ 专题提升(一)-关键字

针对于嵌入式软件杂乱的知识点总结起来&#xff0c;提供给读者学习复习对下述内容的强化。 目录 1.C语言宏中"#“和"##"的用法 1.1.(#)字符串化操作符 1.2.(##)符号连接操作符 2.关键字volatile有什么含意?并举出三个不同的例子? 2.1.并行设备的硬件寄存…...

基础入门-传输加密数据格式编码算法密文存储代码混淆逆向保护安全影响

知识点&#xff1a; 1、传输格式&传输数据-类型&编码&算法 2、密码存储&代码混淆-不可逆&非对称性 一、演示案例-传输格式&传输数据-类型&编码&算法 传输格式 JSON XML WebSockets HTML 二进制 自定义 WebSockets&#xff1a;聊天交互较常…...

几个Linux系统安装体验(续): 统信桌面系统

本文介绍统信桌面系统&#xff08;uos&#xff09;的安装。 下载 下载地址&#xff1a; https://www.chinauos.com/resource/download-professional 下载文件&#xff1a;本文下载文件名称为uos-desktop-20-professional-1070-amd64.iso。 下载注意事项&#xff1a;可直接下…...

算法日记6.StarryCoding P52:我们都需要0(异或)

一、题目 二、题解&#xff1a; 1、对于这道题&#xff0c;题意为让我们寻找一个数x使得 b[i]a[i]^x&#xff0c; 并且b[1]^b[2]^b[3]^ b[4]^b[5]....0 2、我们把b[i]给拆开&#xff0c;可以得到 3、又因为^满足结合律&#xff0c;因此&#xff0c;可以把括号给拆开 4、接着…...

【网络协议】RFC3164-The BSD syslog Protocol

引言 Syslog常被称为系统日志或系统记录&#xff0c;是一种标准化的协议&#xff0c;用于网络设备、服务器和应用程序向中央Syslog服务器发送日志消息。互联网工程任务组&#xff08;IETF&#xff09;发布的RFC 3164&#xff0c;专门定义了BSD Syslog协议的规范和实现方式。通…...

SpringCloud -根据服务名获取服务运行实例并进行负载均衡

Nacos注册中心 每个服务启动之后都要向注册中心发送服务注册请求&#xff0c;注册中心可以和各个注册客户端自定义协议实现服务注册和发现。 pom.xml <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-na…...

CentOS 安装Redis

1. 安装 Redis 安装 EPEL 仓库&#xff08;对于 CentOS/RHEL 系统&#xff09;&#xff1a; 首先安装 EPEL 仓库&#xff0c;因为 Redis 存在于 EPEL 仓库中&#xff1a; yum install epel-release安装 Redis 数据库&#xff1a; yum install redis2. 修改 Redis 配置文件 …...

Linux网络 TCP socket

TCP简介 TCP&#xff08;Transmission Control Protocol&#xff09;是一种面向连接的、可靠的、基于字节流的传输层通信协议。它位于OSI模型的第四层&#xff0c;主要为应用层提供数据传输服务。TCP通过三次握手建立连接&#xff0c;确保数据在发送和接收过程中的准确性和顺序…...

(一)相机标定——四大坐标系的介绍、对应转换、畸变原理以及OpenCV完整代码实战(C++版)

一、四大坐标系介绍 1&#xff0c;世界坐标系 从这个世界&#xff08;world&#xff09;的视角来看物体 世界坐标系是3D空间坐标&#xff0c;每个点的位置用 ( X w , Y w , Z w ) (X_w,Y_w,Z_w) (Xw​,Yw​,Zw​)表示 2&#xff0c;相机坐标系 相机本身具有一个坐标系&…...

【Linux网络编程】高效I/O--I/O的五种类型

目录 I/O的概念 网络通信的本质 I/O的本质 高效I/O 五种I/O模型 阻塞I/O 非阻塞I/O 信号驱动I/O 多路转接/多路复用I/O 异步I/O 非阻塞I/O的实现 I/O的概念 网络通信的本质 网络通信的本质其实就是I/O I&#xff1a;表示input(输入)O&#xff1a;表示ou…...

企业级NoSQL数据库Redis

1.浏览器缓存过期机制 1.1 最后修改时间 last-modified 浏览器缓存机制是优化网页加载速度和减少服务器负载的重要手段。以下是关于浏览器缓存过期机制、Last-Modified 和 ETag 的详细讲解&#xff1a; 一、Last-Modified 头部 定义&#xff1a;Last-Modified 表示服务器上资源…...

Vscode:问题解决办法 及 Tips 总结

Visual Studio Code&#xff08;简称VSCode&#xff09;是一个功能强大的开源代码编辑器&#xff0c;广泛用于各种编程语言和开发场景&#xff0c;本博客主要记录在使用 VSCode 进行verilog开发时遇到的问题及解决办法&#xff0c;使用过程中的技巧 文章目录 扩展安装失败调试配…...

二十三种设计模式-装饰器模式

一、定义与核心思想 装饰器模式是一种结构型设计模式&#xff0c;其核心思想是动态地给一个对象添加一些额外的职责。通过这种方式&#xff0c;可以在不改变原有对象结构的基础上&#xff0c;灵活地增加新的功能&#xff0c;使得对象的行为可以得到扩展&#xff0c;同时又保持…...

架构思考与实践:从通用到场景的转变

在当今复杂多变的商业环境中&#xff0c;企业架构的设计与优化成为了一个关键议题。本文通过一系列随笔&#xff0c;探讨了业务架构的价值、从通用架构到场景架构的转变、恰如其分的架构设计以及如何避免盲目低效等问题。通过对多个实际案例的分析&#xff0c;笔者揭示了架构设…...

Spring MVC(一)

RestController RestController 是由 Controller 和 ResponseBody 两个注解构成的。 Spring 启动的时候会扫描所有包含 Controller 或者 RestController 注解的类&#xff0c;创建出对外的接口&#xff0c;这样外界就可以从这里与服务器实现交互&#xff0c;如果没有这个注解…...

vue3使用tsx渲染复杂逻辑的表单

前置 目前的应用场景是&#xff1a;检查项目是树结构&#xff0c;有的项目还需要动态显示对应的子集 项目用的是uniappvue3tsvite生成的app tsx模版 统一渲染入口 <script lang"ts">import uniForms from dcloudio/uni-ui/lib/uni-forms/uni-forms.vueimport…...

VNC远程连接树莓派的方法

‌VNC远程连接树莓派的核心方法是&#xff1a;树莓派上启用VNC服务&#xff0c;电脑上安装客户端软件&#xff0c;通过局域网IP地址从电脑连接‌。以下是具体操作步骤&#xff1a; 1. 在树莓派上启用VNC服务 ‌图形界面设置&#xff08;适用于有显示器操作&#xff09;‌ 点击树…...

bootstrap怎么修改折叠面板(Accordion)的边框颜色

Accordion默认边框颜色来自.accordion-item的border-color&#xff0c;继承自Sass变量$border-color或$accordion-border-color&#xff0c;作用于border-top和border-bottom。Accordion 默认边框颜色从哪来bootstrap 的 accordion 边框颜色默认由 .accordion-item 的 border-c…...

Java连接Kafka示例

1、引入依赖<dependency><groupId>org.apache.kafka</groupId><artifactId>kafka_2.12</artifactId><version>2.1.0</version><scope>provided</scope></dependency><!-- https://mvnrepository.com/artifact/…...

Qwen3-14B私有部署镜像实测:一键启动,打造你的私有AI大脑

Qwen3-14B私有部署镜像实测&#xff1a;一键启动&#xff0c;打造你的私有AI大脑 1. 开箱即用的私有AI解决方案 在当今AI技术快速发展的背景下&#xff0c;越来越多的企业和开发者希望拥有自己的私有AI模型。Qwen3-14B私有部署镜像正是为这一需求而生的解决方案。它基于强大的…...

UML vs ADL:架构设计工具选型指南(含AADL在嵌入式系统的特殊优势)

UML vs ADL&#xff1a;架构设计工具选型指南&#xff08;含AADL在嵌入式系统的特殊优势&#xff09; 在软件架构设计领域&#xff0c;选择合适的描述工具往往决定了设计效率与系统质量。当团队面临UML与ADL的选型时&#xff0c;决策者需要超越工具本身的语法差异&#xff0c;从…...

CC-Link IE转Modbus TCP集成实战:耐达讯自动化网关在五星级酒店节能改造中的应用

在工业自动化系统集成领域&#xff0c;异构网络的数据交互始终是一个核心痛点。控制层普遍采用高性能的CC-Link IE工业以太网&#xff0c;以确保高速、确定的实时通信&#xff1b;而设备层往往存在大量基于Modbus TCP协议的通用设备&#xff0c;如变频器、智能仪表和传感器。这…...

圣女司幼幽-造相Z-Turbo快速部署:支持FP16精度的Z-Turbo LoRA推理优化

圣女司幼幽-造相Z-Turbo快速部署&#xff1a;支持FP16精度的Z-Turbo LoRA推理优化 本文介绍如何快速部署圣女司幼幽-造相Z-Turbo模型&#xff0c;这是一个基于Z-Image-Turbo LoRA版本的专业文生图模型&#xff0c;专注于生成《牧神记》中圣女司幼幽的高质量图像&#xff0c;并支…...

工业自动化场景下耐达讯自动化的 CC-Link IE 转 Modbus TCP 技术方案与应用实践

在工业自动化行业中&#xff0c;设备间协议异构性是系统集成面临的核心挑战之一。尤其在产线升级、老旧设备接入或跨品牌系统融合过程中&#xff0c;如何高效、稳定地实现不同通信协议之间的转换&#xff0c;直接关系到数据采集的完整性、控制系统的实时性以及整体项目的实施成…...

16-bit像素美学实测:Pixel Epic UI对科研专注力提升的用户反馈分析

16-bit像素美学实测&#xff1a;Pixel Epic UI对科研专注力提升的用户反馈分析 1. 产品概述与设计理念 Pixel Epic是一款专为科研工作者设计的智能研究报告辅助工具&#xff0c;其核心创新在于将传统AI工具的工业感界面转化为充满游戏元素的16-bit像素风格。这种独特的设计理…...

网盘下载限速终结者:8大平台直链解析终极指南

网盘下载限速终结者&#xff1a;8大平台直链解析终极指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 / 迅…...