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

冒泡排序(C语言详解)

原理:从左到右一次比较,如果左侧数字比右侧数字大(小),则两数交换,否则比较下一             组数字,每一次大循环比较可以将乱序的最右侧数字改为最大(最小),每一次小循环的比             较次数相对于前一次要减一


动态用例:

升序排序代码详解:

void bubble_sort (int arr[],int sz)   //将数组和元素个数传过来
{for(int i=0;i<sz-1;i++)   //每次大循环可以确定乱序最后一个数字,最多需要sz-1次循环{int tmp=0;for(int j=0;j<sz-1-i;j++)//每次小循环,因为已经确定最后的i个元素,剩下需要比较的元素个数就为sz-i,而需要比较的次数就为sz-1-i{if(arr[j]>arr[j+1])//相邻两个数比较,如过前一个数比后一个数大就交换{
int t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
tmp=1;}}
if(tmp==0)
break;}
}

降序排序代码详解:

void bubble_sort (int arr[],int sz)   //将数组和元素个数传过来
{for(int i=0;i<sz-1;i++)   //每次大循环可以确定乱序最后一个数字,最多需要sz-1次循环{int tmp=0;for(int j=0;j<sz-1-i;j++)//每次小循环,因为已经确定最后的i个元素,剩下需要比较的元素个数就为sz-i,而需要比较的次数就为sz-1-i{if(arr[j]<arr[j+1])//相邻两个数比较,如过前一个数比后一个数小就交换{
int t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
tmp=1;}}
if(tmp==0)
break;}
}

两者排序方式唯一的区别:

1.升序排序:如果前一个数比后一个数大,二者就交换,所以用>

2.降序排序:如果前一个数比后一个数大,二者就交换,所以用<

tmp的作用:

每一次大循环,我们都将tmp设置为0,在每一次小循环里面,如果两个数进行了交换,我们就将tmp改为1,出这次大循环判断一下tmp是否为0,如果为0,那么本次循环没有进行交换,也就是数组已经排好序,直接退出大循环,否则继续进行循环。

相关文章:

冒泡排序(C语言详解)

原理&#xff1a;从左到右一次比较&#xff0c;如果左侧数字比右侧数字大&#xff08;小&#xff09;&#xff0c;则两数交换&#xff0c;否则比较下一 组数字&#xff0c;每一次大循环比较可以将乱序的最右侧数字改为最大&#xff08;最小&#xff09;&#xff0c…...

STC-ISP原厂代码研究之 V3.7d汇编版本

最近在研究STC的ISP程序,用来做一个上位机烧录软件,逆向了上位机软件,有些地方始终没看明白,因此尝试读取它的ISP代码,但是没有读取成功。应该是目前的芯片架构已经将引导代码放入在了单独的存储块中,而这存储块有硬件级的使能线,在面包板社区-宏晶STC单片机的ISP的BIN文…...

【word】引用文献如何标注右上角

一、在Word文档中引用文献并标注在右上角的具体步骤如下 1、将光标移动到需要添加文献标注的位置&#xff1a; 2、在文档上方的工具栏中选择“引用”选项&#xff1a; 3、点击“插入脚注”或“插入尾注”&#xff1a; ①如果选择的是脚注&#xff0c;则脚注区域会出现在本页的…...

MySQL 5.5、5.6、5.7的主从复制改进

主从复制面临的问题 MySQL一直以来的主从复制都是被诟病,原因是: 1、主从复制效率低 早期mysql的复制是通过将binlog语句异步推送到从库。从库启动一个IO线程将接收到的数据记录到relaylog中;另外启动一个SQL线程负责顺序执行relaylog中的语句实现对数据的拷贝。 这里的…...

性能分析排查思路之日志(1)

本文是性能问题分析排查思路的展开内容之一&#xff0c;主要分为日志1期&#xff0c;机器4期、环境2期共7篇系列文章&#xff0c;本期是第一篇&#xff0c;讲日志的分析方法和经验。 系列文章传送门&#xff1a; 一图梳理性能问题分析排查思路-总体概述&#xff08;0&#xff…...

Vue中如何实现条件渲染?

在Vue中实现条件渲染非常简单且灵活&#xff0c;主要通过Vue的指令来实现。在Vue中&#xff0c;我们可以使用v-if和v-else指令来根据条件来渲染不同的内容。下面就让我们通过一个简单的示例来演示如何在Vue中实现条件渲染&#xff1a; <!DOCTYPE html> <html lang&qu…...

Postman上传文件的操作方法

前言 调用某个接口&#xff0c;测试上传文件功能。一时间不知如何上传文件&#xff0c;本文做个操作记录&#xff0c;期望与你有益。 步骤一、设置Headers key:Content-Type value:multipart/form-data 步骤二、设置Body 选择form-data key:file下拉框选择file类型value&…...

linux系统Jenkins工具介绍

Jenkins概念介绍 Jenkins概念Jenkins目的特性产品发布流程 Jenkins概念 Jenkins是一个功能强大的应用程序&#xff0c;允许持续集成和持续交付项目&#xff0c;无论用的是什么平台。这是一个免费的源代码&#xff0c;可以处理任何类型的构建或持续集成。集成Jenkins可以用于一些…...

【python】遵守 robots.txt 规则的数据爬虫程序

程序1 编写一个遵守 robots.txt 规则的数据爬虫程序涉及到多个步骤&#xff0c;包括请求网页、解析 robots.txt 文件、扫描网页内容、存储数据以及处理异常。由于编程语言众多&#xff0c;且每种语言编写爬虫程序的方式可能有所不同&#xff0c;以下将使用 Python 语言举例&am…...

使用爬虫去获取四六级成绩

使用爬虫去获取四六级成绩 今天出成绩&#xff0c;没过&#xff0c;二战六级依然惨死&#xff0c;那么我就写一个简单的爬虫&#xff0c;其实也可以封装成一个接口的&#xff0c;然后直接输入姓名 身份证好 以及四六级即可获取成绩&#xff0c;我就是简单的玩了一下哈&#xf…...

洛谷P1256 显示图像

广搜练手题 题目链接 思路 打印每个数与其最近的 1 1 1的曼哈顿距离&#xff0c;显然广搜&#xff0c;存储每一个 1 1 1&#xff0c;针对每一个 1 1 1开始广搜&#xff0c;逐层更新&#xff0c;每轮后更新的为两轮之中的最小曼哈顿距离 ACcode #include<bits/stdc.h>…...

模拟器抓HTTP/S的包时如何绕过单向证书校验(XP框架)

模拟器抓HTTP/S的包时如何绕过单向证书校验&#xff08;XP框架&#xff09; 逍遥模拟器无法激活XP框架来绕过单向的证书校验&#xff0c;如下图&#xff1a; ​​ 解决办法&#xff1a; 安装JustMePlush.apk安装Just Trust Me.apk安装RE管理器.apk安装Xposedinstaller_逍遥64位…...

【JS 算法题: 将 json 转换为字符串】

题目简介 其实就是手撕 JSON.stringfy()。 算法实现 输入 原则上来说&#xff0c;输入的是一个 json 对象。但需要考虑到异常情况&#xff0c;即输入了其它类型的数据&#xff0c;比如&#xff1a;12, true, ‘abc’, [‘red’, ‘green’], null, undefined 等。 输出 …...

数的范围 刷题笔记

思路 寻找第一个大于等于目标的 数 因为该数组是升序的 所以 我们可以采用二分的方式 逼近答案 定义一个左指针和一个右指针 当左右指针重合时 就是我们要找的答案 当我们寻找第一个大于等于x的数时 a[mid]>x,答案在mid处 或者在mid的左边 因此让rmid继续逼近 如果…...

XSS简介及xsslabs第一关

XSS被称为跨站脚本攻击(Cross-site scripting)&#xff0c;由于和CSS(CascadingStyle Sheets)重名&#xff0c;所以改为XSS。 XSS主要速于javascript语言完成恶意的攻击行为&#xff0c;因为javascript可非常灵活的操作html、css和浏览器 XSS就是指通过利用网页开发时留下的漏…...

构建安全的REST API:OAuth2和JWT实践

引言 大家好&#xff0c;我是小黑&#xff0c;小黑在这里跟咱们聊聊&#xff0c;为什么REST API这么重要&#xff0c;同时&#xff0c;为何OAuth2和JWT在构建安全的REST API中扮演着不可或缺的角色。 想象一下&#xff0c;咱们每天都在使用的社交媒体、在线购物、银行服务等等…...

从0开始学习NEON(1)

1、前言 在上个博客中对NEON有了基础的了解&#xff0c;本文将针对一个图像下采样的例子对NEON进行学习。 学习链接:CPU优化技术 - NEON 开发进阶 上文链接:https://blog.csdn.net/weixin_42108183/article/details/136412104 2、第一个例子 现在有一张图片&#xff0c;需…...

(二十三)Flask之高频面试点

目录&#xff1a; 每篇前言&#xff1a;Q1&#xff1a;为什么把request和session放在一起&#xff1f;Q2&#xff1a;Local对象的作用&#xff1f;Q3:&#xff1a;LocalStack对象的作用&#xff1f;Q4&#xff1a;一个运行中的Flask应用程序分别包括几个Local/LocalStack&#…...

设计模式(十三)抽象工厂模式

请直接看原文:设计模式&#xff08;十三&#xff09;抽象工厂模式_抽象工厂模式告诉我们,要针对接口而不是实现进行设计。( )-CSDN博客 -------------------------------------------------------------------------------------------------------------------------------- …...

HTTP Cookie 你了解多少?

Cookie是什么&#xff1f; 先给大家举个例子&#xff0c;F12 打开浏览器的页面之后&#xff0c;我们能在 Response Headers 的字段里面看到一个header 叫做 Set-Cookie&#xff0c;如下所示 图中包含的 Set-Cookie 为 Set-Cookie:uuid_tt_dd10_20293537580-1709432565344-232…...

归并排序力扣题(leetcode)萍

1.概述在人工智能快速发展的今天&#xff0c;AI不再仅仅是回答问题的聊天机器人&#xff0c;而是正在演变为能够主动完成复杂任务的智能代理。OpenAI的Codex CLI就是这一趋势的典型代表——一个跨平台的本地软件代理&#xff0c;能够在用户的机器上安全高效地生成高质量的软件变…...

轴向磁通电机仿真避坑指南:ANSYS Maxwell 3D建模时气隙与对称性的7个关键设置

轴向磁通电机3D仿真进阶指南&#xff1a;从参数校准到高效求解的实战技巧 轴向磁通电机因其紧凑结构和高效能特性&#xff0c;正在新能源车、航空航天等领域获得广泛应用。但不同于传统径向电机&#xff0c;其三维电磁场分布的复杂性使得仿真过程常成为工程师的"噩梦"…...

CMake实战:如何自动生成带Git分支和编译时间的版本号(附完整代码)

CMake实战&#xff1a;自动化生成含Git分支与编译时间的版本标识系统 在持续集成和敏捷开发成为主流的今天&#xff0c;每次代码提交都可能触发自动化构建流程。作为开发者&#xff0c;你是否遇到过这样的困扰&#xff1a;测试人员报告了一个问题&#xff0c;但无法快速确认他们…...

1篇1章5节:大模型术语解读与从生成到推理的演进

在人工智能的浩瀚宇宙中&#xff0c;大模型正以前所未有的速度演进&#xff0c;推动着科技变革的新浪潮。从多模态到通用模型&#xff0c;再到行业模型&#xff0c;人工智能的边界不断拓展&#xff0c;为各行各业带来了全新的机遇与挑战。本篇文章将深入剖析大模型相关的核心术…...

HTTP/3 QUIC 协议深度解析:从 Wireshark 抓包到性能优化实战

1. HTTP/3 QUIC 协议为何成为技术焦点 最近两年&#xff0c;每当我和团队讨论网络优化方案时&#xff0c;HTTP/3 QUIC 总是绕不开的话题。记得去年优化一个海外直播项目时&#xff0c;我们被TCP的队头阻塞折磨得够呛——明明服务器带宽充足&#xff0c;观众端却频繁卡顿。直到切…...

PHP低代码表单引擎安全红线清单(XSS/CSRF/表达式注入/Schema越权共7类高危漏洞实测防御方案)

第一章&#xff1a;PHP低代码表单引擎安全红线总览低代码表单引擎在加速业务交付的同时&#xff0c;也因动态字段生成、运行时逻辑注入、元数据驱动等特性&#xff0c;天然放大了Web安全风险面。PHP作为主流后端语言&#xff0c;在此类引擎中常承担表单渲染、数据校验、流程路由…...

Agent Client Protocol 全景解析腊

1. 核心概念 在 Antigravity 中&#xff0c;技能系统分为两层&#xff1a; Skills (全局库)&#xff1a;实际的代码、脚本和指南&#xff0c;存储在系统级目录&#xff08;如 ~/.gemini/antigravity/skills&#xff09;。它们是“能力”的本体。 Workflows (项目级)&#xff1a…...

从零搭建Chiplet系统?保姆级梳理UCIe实战中的那些“坑”:Sideband流控、时钟门控与多模块链路

从零搭建Chiplet系统&#xff1a;UCIe实战中的关键挑战与解决方案 在半导体行业追求更高性能、更低功耗的今天&#xff0c;Chiplet技术已成为突破传统单芯片设计瓶颈的重要路径。作为连接不同Chiplet的"桥梁"&#xff0c;UCIe(Universal Chiplet Interconnect Expres…...

SEO检测工具有哪些_使用SEO检测工具需要注意哪些事项

SEO检测工具有哪些 在当前的互联网市场中&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;是提高网站流量和品牌知名度的关键手段之一。为了帮助网站达到最佳的SEO效果&#xff0c;SEO检测工具应运而生。市场上有哪些可靠的SEO检测工具呢&#xff1f;常见的有Ahrefs、SEM…...

告别手动整理!用快马AI生成脚本,自动化处理论文参考文献格式

最近在赶毕业论文&#xff0c;最让我头疼的就是参考文献的格式整理。不同期刊要求不同&#xff0c;手动调整费时费力还容易出错。后来发现用Python写个自动化脚本能省不少时间&#xff0c;今天就把我的实现思路分享给大家。 首先明确需求&#xff0c;脚本需要处理的核心问题包括…...