C语言 排序

server/2024/12/19 13:39:02/

时间:2024.12.18

一、冒泡排序(Bubble Sort)

  1. 原理

    • 比较相邻的元素。如果第一个比第二个大,就交换它们两个。
    • 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
    • 针对所有的元素重复以上的步骤,除了最后一个。
    • 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
  2. 代码示例

void bubbleSort(int arr[], int n) {int i, j;for (i = 0; i < n - 1; i++) {for (j = 0; j < n - i - 1; j++) {if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}
}

 

二、选择排序(Selection Sort)

  1. 原理

    • 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。
    • 然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
    • 重复第二步,直到所有元素均排序完毕。
  2. 代码示例

void selectionSort(int arr[], int n) {int i, j, min_idx;for (i = 0; i < n - 1; i++) {min_idx = i;for (j = i + 1; j < n; j++) {if (arr[j] < arr[min_idx]) {min_idx = j;}}int temp &#

http://www.ppmy.cn/server/151448.html

相关文章

电脑文档损坏:原因剖析和修复方法

在使用电脑的过程中&#xff0c;许多用户可能会遇到文档突然提示损坏、无法打开的情况。这种情况的发生往往让人感到困惑&#xff0c;特别是当并未进行任何明显错误操作时。以下是一些常见的原因以及应对方法。 一、文档损坏的常见原因 1、非人为的异常操作&#xff1a; 在编…

【CC2530开发基础篇】继电器模块使用

一、前言 1.1 开发背景 本实验通过使用CC2530单片机控制继电器的吸合与断开&#xff0c;深入了解单片机GPIO的配置与应用。继电器作为一种常见的电气控制元件&#xff0c;广泛用于自动化系统中&#xff0c;用于控制大功率负载的开关操作。在本实验中&#xff0c;将通过GPIO口…

Objective-C实现字符串是否是有效的url地址算法(附完整源码)

Objective-C实现字符串是否是有效的url地址算法 要验证一个字符串是否是有效的 URL 地址,可以使用多种方法,包括正则表达式匹配、使用 NSURL 类进行解析等。下面,我将提供一个完整的 Objective-C 实现,包含以下内容: URLValidator 类:包含一个方法 isValidURL: 用于验证字…

计算无人机俯拍图像的地面采样距离(GSD)矩阵

引言 在无人机遥感、测绘和精细农业等领域&#xff0c;地面采样距离&#xff08;Ground Sampling Distance&#xff0c;简称 GSD&#xff09;是一个非常重要的指标。GSD 是指图像中每个像素在地面上实际代表的物理距离&#xff0c;通常以米或厘米为单位。GSD 决定了图像的空间…

多速率信号处理

介绍 简单来说&#xff0c; 多速率信号处理&#xff0c;是指对同时存在两个以上数据速率的系统进行信号处理。多速率信号处理原理就是通过改变信号速率&#xff0c;以适应系统内部各个节点对信号速率的要求。这里的速率其实就是指采样率。 多速率技术已广泛应用于数字音频处理…

NVM:安装配置使用(详细教程)

文章目录 一、简介二、安装 nvm三、配置 nvm 镜像四、配置环境变量五、使用教程5.1 常用命令5.2 具体案例 六、结语 一、简介 在实际的开发和学习中可能会遇到不同项目的 node 版本不同&#xff0c;而出现的兼容性问题。 而 nvm 就可以很好的解决这个问题&#xff0c;它可以在…

webpack打包流程及原理

Webpack 是一个模块打包工具&#xff0c;它可以分析项目的依赖关系&#xff0c;将这些依赖转换和打包为合适的格式以供浏览器使用。以下是 Webpack 打包流程的简化版&#xff1a; **初始化&#xff1a;**读取 webpack 配置文件&#xff0c;创建 compiler 对象。 **配置&#x…

Pycharm访问MongoDB数据库

MongoDB的基础操作 1. 创建连接 #导入pymongo中的用于操作数据库的客户端 from pymongo import MongoClient #创建客户端对象&#xff0c;连接MongoDB服务器 client MongoClient(mongodb://admin:admin123456localhost:27017) 2. 数据的增删改查 2.1 数据的写入 from mon…