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

C语言:冒泡排序

C语言 基础开发----目录


冒泡排序

1. 原理

对一个有n个数据的数组进行遍历,依次对相邻两个数据进行比较大小,若大的数据在前面则交换位置(升序),完成一次遍历后数组中最大的数据到了数组的末尾位置,就象水底下的气泡一样逐渐 向上冒泡。
然后再对前面n-1个数据进行相同的遍历,一共完成n-1次遍历就实现了排序完成。

2. 举例说明

将5个无序的数列 {6 , 8 , -12 , 0 , -2},使用冒泡排序法(升序)将其排列成一个从小到大的有序数列。

第一次遍历,做 4 次比较,将第一大的数据放到倒数第一的位置

原始数据: 6 8 0 -2 -12
第一次遍历: 6 0 -2 -12 8

第二次遍历,做 3 次比较,将第二大的数据放到倒数第二的位置

原始数据:6 8 0 -2 -12
第一次遍历: 6 0 -2 -12 8
第二次遍历: 0 -2 -12 6 8

第三次遍历,做 2 次比较,将第三大的数据放到倒数第三的位置

原始数据:6 8 0 -2 -12
第一次遍历: 6 0 -2 -12 8
第二次遍历:0 -2 -12 6 8
第三次遍历: -2 -12 0 6 8

第四次遍历,做 1 次比较,将第四大的数据放到倒数第四的位置

原始数据:6 8 0 -2 -12
第一次遍历: 6 0 -2 -12 8
第二次遍历:0 -2 -12 6 8
第三次遍历: -2 -12 0 6 8
第四次遍历: -12 -2 0 6 8

3. 程序代码

具体代码如下:

//升序排序:大的在后面 
void BubbleSort_Rise(int *data,	int Length)
{int j,i;int t;//临时变量	for(i=0;i<Length-1;i++){for(j=0;j<Length-1-i;j++){		//如果前面的数大于的后面的数,就交换if(data[j]>data[j+1]){t = data[j];data[j] = data[j+1];data[j+1] = t;}}}
}int main(int argc, char *argv[])
{int n;int Tdata[5] = {6,8,0,-2,-12};int DataLen = sizeof(Tdata) / sizeof(int); // 5 数组大小BubbleSort_Rise(Tdata,DataLen);//数组默认是地址传递 (指针)printf("升序排序结果:");for(n=0;n<DataLen;n++){printf(" %d",Tdata[n]);	}printf("\n"); return 0;
}

运行结果如下:
在这里插入图片描述


相关文章:

C语言:冒泡排序

C语言 基础开发----目录 冒泡排序 1. 原理 对一个有n个数据的数组进行遍历&#xff0c;依次对相邻两个数据进行比较大小&#xff0c;若大的数据在前面则交换位置&#xff08;升序&#xff09;&#xff0c;完成一次遍历后数组中最大的数据到了数组的末尾位置&#xff0c;就象水…...

Android 内容提供者和内容观察者:数据共享和实时更新的完美组合

任务要求 一个作为ContentProvider提供联系人数据另一个作为Observer监听联系人数据的变化&#xff1a; 1、创建ContactProvider项目&#xff1b; 2、在ContactProvider项目中用Sqlite数据库实现联系人的读写功能&#xff1b; 3、在ContactProvider项目中通过ContentProvid…...

六、K8S之StatefulSet

StatefulSet 一、概念 和Deployment一样StatefulSet也是中一种可以帮助我们部署和扩展Pod的控制器&#xff0c;使用Deployment时多数时候不需要在意Pod的调度方式。如果需要关心Pod的部署顺序、对应持久化存储或者要求Pod拥有固定的网络标识时&#xff0c;就需要StatefulSet控…...

基于微服务+Java+Spring Cloud开发的建筑工地智慧平台源码 云平台多端项目源码

建筑工地智慧平台源码&#xff0c;施工管理端、项目监管端、数据大屏端、移动APP端全套源码 技术架构&#xff1a;微服务JavaSpring Cloud VueUniApp MySql自主版权实际应用案例演示 建筑工地智慧平台已应用于线上巡查、质量管理、实名制管理、危大工程管理、运渣车管理、绿色…...

微信小程序异常:navigateTo:fail can not navigateTo a tabbar page

场景还原 微信小程序利用路径wx.navigateTo跳转界面时发送异常 跳转代码 showDetail(e){// 获取图片绑定的ID编号let id e.currentTarget.dataset.id;// 指定编号查询 携带参数到详情界面 wx.navigateTo({url: /pages/details/details?id id,})}异常代码 WAServiceMain…...

智慧公厕高精尖技术揭秘,让卫生管理更智能、更舒适

随着科技的飞速发展&#xff0c;智慧公厕正逐渐走进人们的生活。借助物联网、互联网、云计算、大数据、人工智能、自动化控制等技术的应用&#xff0c;智慧公厕将卫生管理提升到一个全新的水平&#xff0c;为公众打造了清洁舒适的使用环境。本文以智慧公厕源头厂家广州中期科技…...

Spring Cloud的革新:服务网格和云原生整合

文章目录 介绍Spring Cloud服务网格的兴起Spring Cloud与Service Mesh的整合1. 服务发现2. 负载均衡3. 故障处理4. 安全性 云原生整合结论 &#x1f389;欢迎来到架构设计专栏~Spring Cloud的革新&#xff1a;服务网格和云原生整合 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#x1f37…...

EfficientDet: Scalable and Efficient Object Detection

CVPR2020 V7 Mon, 27 Jul 2020 引用量&#xff1a;243 机构&#xff1a;Google 贡献&#xff1a;1>提出了多尺度融合网络BiFPN 2>对backbone、feature network、box/class prediction network and resolution进行复合放缩&#xff0c;有着不同的…...

【数据结构】二叉树链式存储及遍历

二叉树链式存储及遍历 文章目录 二叉树链式存储及遍历前言实现过程代码实现源代码总结 前言 本文章中的内容参考于王道数据结构考研书&#xff0c;如果你对该部分的内容的记忆有所模糊&#xff0c;可以阅读我的文章再加深印象 实现过程 1.定义二叉树结构体 2.初始化二叉树的根结…...

数字孪生技术:新零售的未来之路

随着科技的不断进步&#xff0c;新零售产业正经历着巨大的变革。数字孪生作为一种新兴技术正在加速这一变革的进程。它不仅为新零售企业带来了更高效的运营方式&#xff0c;还为消费者提供了更个性化、便捷的购物体验。那么&#xff0c;数字孪生技术究竟如何在新零售产业中发挥…...

NIO教程

一&#xff0c;概述 原本的java是基于同步阻塞式的i/o通信&#xff08;bio) 性能低下&#xff0c;所以出现了nio这种非阻塞式的 二&#xff0c;Java 的I/O演进之路 2.1 i/o模型基本说明 i/o模型&#xff1a;就是用什么样的通道或者说通信模式和架构进行数据的传输和接收&am…...

【MySQL】表的内连和外连

文章目录 一. 内连接二. 外连接1. 左外连接2. 右外连接 一. 内连接 利用where子句对两种表形成的笛卡尔积进行筛选&#xff0c;其实就是内连接的一种方式 另一种方式是inner join select 字段 from 表1 inner join 表2 on 连接条件 and 其他条件现在有如下表 mysql> desc…...

文心一言:文心大模型 4.0 即将发布

本心、输入输出、结果 文章目录 文心一言:文心大模型 4.0 即将发布前言文心 4.0 的成本问题架构文心 4.0 是否可以对标 GPT-4文心4.0 会不会收费弘扬爱国精神文心一言:文心大模型 4.0 即将发布 编辑:简简单单 Online zuozuo 地址:https://blog.csdn.net/qq_15071263 前言 …...

HTML笔记

注释标签&#xff1a;<!-- --> 标题标签&#xff1a;&#xff08;作用范围依次递减&#xff09; <h1></h1> <h2></h2> <h3></h3> <h4></h4> <h5></h5> <h6></h6> 段落标签&#xff1a;<p&g…...

design compiler中的drc规则详解

design compiler中的drc规则详解 DRC是什么&#xff1f;DRC分类各个DRC的含义写在最后 DRC是什么&#xff1f; 本文讨论的DRC即是Design Rule Constraint,而不是Design Rule Check&#xff0c;后者是物理端或者后端的一个关键步骤。 DRC分类 DRC为DC中的一个约束大类&#x…...

CEC2013(MATLAB):螳螂搜索算法(Mantis Search Algorithm,MSA)求解CEC2013

一、螳螂搜索算法 螳螂搜索算法&#xff08;Mantis Search Algorithm&#xff0c;MSA&#xff09;由Mohamed Abdel-Basset等人于2023年提出&#xff0c;该算法模拟螳螂独特的狩猎和性同类相食行为。MSA由三个优化阶段组成&#xff0c;包括寻找猎物&#xff08;探索&#xff09…...

【错误:No package snapd available.】在 CentOS 上启用 snap 并安装 snapd

参考&#xff1a;Install snapd on CentOS using the Snap Store | Snapcraft sudo yum install epel-releasesudo yum install snapd...

Shell命令笔记2

大家好&#xff0c;分享下最近工作中用得比较多的shell命令&#xff0c;希望对大家有帮助。 获取数组长度&#xff1a; ${#array_name[*]}获取脚本相对路径 script_path$(dirname "$0")获取脚本的名字 script_name$(basename "$0")获取脚本的绝对路径 …...

怎么团队合作,协作开发

一、代码托管平台 我是在大一下的一个竞赛中接触到的代码托管平台 那个时候我也算是什么都不会的&#xff0c;不过不得不说这个确实比较重要&#xff0c;对我造成了一些冲击 在我看来&#xff0c;代码托管平台的作用就是在一个中转站&#xff08;仓库&#xff09;上存储我们写…...

python 练习--更新

1.判断一个列表中的数值是否全部小于某个数 方法一&#xff1a;利用if函数 &#xff08;只要列表中有一个数字比大 就可以终止比较&#xff09; n int(input("请输入需要比较的数字:")) arr1 [1,3,4,5,8] index 0 for i in arr1:if i > n:index 1continue…...

6表单全链路工程化AI开发体系使用方案

6表单全链路工程化AI开发体系使用方案 一、体系整体概述 核心定位与价值 本方案对应的6个表单,是一套覆盖项目启动→需求收敛→标准前置→开发执行→风险管控→验收闭环全流程的工程化AI人机协同管控体系,核心解决AI辅助开发中「需求模糊→AI输出偏离→反复返工→交付失控」的…...

LlamaIndex中文文档全解析:从安装到实战RAG系统的保姆级指南

LlamaIndex中文文档全解析&#xff1a;从安装到实战RAG系统的保姆级指南 在人工智能技术快速迭代的今天&#xff0c;如何让大型语言模型(LLM)真正理解并处理私有数据成为开发者面临的核心挑战。LlamaIndex作为专为上下文增强设计的框架&#xff0c;正在改变我们构建智能应用的方…...

智能配置黑苹果终极指南:OpCore Simplify一键生成OpenCore EFI完整教程

智能配置黑苹果终极指南&#xff1a;OpCore Simplify一键生成OpenCore EFI完整教程 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为繁琐的黑苹果…...

CM1数值模拟新手避坑指南:从namelist.input配置到并行计算实战

CM1数值模拟新手避坑指南&#xff1a;从namelist.input配置到并行计算实战 刚接触CM1模式的研究人员常常会在配置文件和并行计算环节踩坑——某个参数设置不当可能导致数小时的计算结果突然崩溃&#xff0c;或是并行效率低下浪费计算资源。本文将用真实案例拆解那些文档里没写…...

深入排查k8s集群6443端口连接拒绝:从kubectl故障到系统级修复

1. 当kubectl突然罢工&#xff1a;6443端口连接拒绝的紧急处理 那天早上我像往常一样打开终端&#xff0c;准备用kubectl get pods查看集群状态&#xff0c;结果终端冷冰冰地抛出一行错误&#xff1a;"Unable to connect to the server: dial tcp 192.168.1.1:6443: conne…...

Python异步服务部署与无服务器架构实践指南

Python异步服务部署与无服务器架构实践指南 【免费下载链接】uvicorn An ASGI web server, for Python. &#x1f984; 项目地址: https://gitcode.com/GitHub_Trending/uv/uvicorn 在云原生应用开发领域&#xff0c;Python异步服务部署正成为构建高性能后端系统的首选方…...

深入RISC-V调试模块:从硬件设计视角看DM、DTM与抽象命令的实现

RISC-V调试模块硬件架构深度解析&#xff1a;从状态机到抽象命令的工程实现 1. RISC-V调试系统的硬件架构全景 在RISC-V生态系统中&#xff0c;调试模块(Debug Module, DM)作为连接外部调试器与处理器核心的关键枢纽&#xff0c;其硬件设计直接决定了芯片的可调试性。与传统的…...

Z-Image-GGUF实战:为Android应用集成AI头像生成功能

Z-Image-GGUF实战&#xff1a;为Android应用集成AI头像生成功能 最近在做一个社交类的Android应用&#xff0c;产品经理提了个需求&#xff0c;想加入一个“AI生成个性头像”的功能。用户上传一张自己的照片&#xff0c;选择喜欢的风格&#xff08;比如动漫风、油画感、像素艺…...

RWKV7-1.5B-g1a作品分享:多轮追问下保持主题聚焦的能力验证

RWKV7-1.5B-g1a作品分享&#xff1a;多轮追问下保持主题聚焦的能力验证 1. 模型简介与测试背景 rwkv7-1.5B-g1a是基于RWKV-7架构的多语言文本生成模型&#xff0c;特别适合基础问答、文案续写、简短总结和轻量中文对话场景。本次测试将重点验证该模型在多轮对话中保持主题聚焦…...

AIGC内容创作流水线:Qwen3-ASR-0.6B赋能语音素材自动化文本化

AIGC内容创作流水线&#xff1a;Qwen3-ASR-0.6B赋能语音素材自动化文本化 你有没有过这样的经历&#xff1f;录完一段精彩的课程讲解、一次深度的访谈对话&#xff0c;或者一段灵光乍现的语音随笔&#xff0c;看着长达几十分钟的音频文件&#xff0c;一想到要把它整理成文字稿…...