冒泡排序 和 qsort排序
目录
冒泡排序
冒泡排序部分
输出函数部分
主函数部分
总代码
控制台输出显示
总代码解释
冒泡排序优化
冒泡排序
主函数
总代码
代码优化解释
qsort 排序
qsort 的介绍
使用qsort排序整型数据
使用qsort排序结构数据
冒泡排序
首先,我先介绍我的冒泡排序代码,分为三个部分:
1.冒泡排序
2.输出
3.主函数
冒泡排序部分
void Bubble_sort(int* a, int sz)
{int i = 0;for (i = 0; i < (sz - 1); i++){int j = 0;for (j = 0; j < ((sz - 1) - i); j++){if (a[j] > a[j + 1]){int temp = a[j];a[j] = a[j + 1];a[j + 1] = temp;}}}
}
输出函数部分
void Print(int* a, int sz)
{int i = 0;for (i = 0; i < sz; i++){printf("%d ", a[i]);}printf("\n");
}
主函数部分
int main()
{int a[10] = { 8,9,6,1,4,66,7,3,5,2 };int sz = sizeof(a) / sizeof(a[0]);//冒泡排序Bubble_sort(a, sz);//打印数组Print(a, sz);return 0;
}
总代码
void Bubble_sort(int* a, int sz)
{int i = 0;for (i = 0; i < (sz - 1); i++){int j = 0;for (j = 0; j < ((sz - 1) - i); j++){if (a[j] > a[j + 1]){int temp = a[j];a[j] = a[j + 1];a[j + 1] = temp;}}}
}void Print(int* a, int sz)
{int i = 0;for (i = 0; i < sz; i++){printf("%d ", a[i]);}printf("\n");
}int main()
{int a[10] = { 8,9,6,1,4,66,7,3,5,2 };int sz = sizeof(a) / sizeof(a[0]);//冒泡排序Bubble_sort(a, sz);//打印数组Print(a, sz);return 0;
}
控制台输出显示
![]()
总代码解释

冒泡排序优化
优化部分:
1.在冒泡排序中,定义了一个flag来控制数组的有序(升序 or 降序);
2.输出部分放在主函数中.
冒泡排序
void Bubble_sort(int* a, int sz)
{int i = 0, flag = 1;for (i = 0; i < (sz - 1); i++){int j = 0;for (j = 0; j < ((sz - 1) - i); j++){if (a[j] > a[j + 1]){flag = 0;int temp = a[j];a[j] = a[j + 1];a[j + 1] = temp;}}if (flag == 1){break;}}
}
主函数
int main()
{int a[10] = { 8,9,6,1,4,66,7,3,5,2 };int sz = sizeof(a) / sizeof(a[0]);//冒泡排序Bubble_sort(a, sz);//输出int i = 0;for (i = 0; i < sz; i++){printf("%d ", a[i]);}printf("\n");return 0;
}
总代码
代码优化解释

qsort 排序
qsort 的介绍

使用qsort排序整型数据
int int_cmp(const void* p1,const void* p2)
{return (*(int*)p1 - *(int*)p2);
}int main()
{int a[10] = { 8,9,6,1,4,66,7,3,5,2 };int sz = sizeof(a) / sizeof(a[0]);qsort(a, sz, sizeof(int), int_cmp);int i = 0;for (i = 0; i < sz; i++){printf("%d ", a[i]);}printf("\n");return 0;
}
代码解释
在qsort的第四个参数 int_cmp 中
(*(int*)p1) 表示的是把p1强制类型转换成int,再解引用
控制台显示输出如👆上面冒泡结果的相同
使用qsort排序结构数据
在这篇文章中 (链接)-->一.学生成绩管理系统(简单) -->按学生的平均分进行从高到低排序
能找到并详细讲解
***********************************************************分割线*****************************************************************************
完结!!!
感谢浏览和阅读。
等等等等一下,分享最近喜欢的一句话:“风停在窗边嘱咐我,要热爱这个世界”。
我是白子寰,如果你喜欢我的作品,不妨你留个点赞+关注让我知道你曾来过。
你的点赞和关注是我持续写作的动力!!!
好了划走把。
相关文章:
冒泡排序 和 qsort排序
目录 冒泡排序 冒泡排序部分 输出函数部分 主函数部分 总代码 控制台输出显示 总代码解释 冒泡排序优化 冒泡排序 主函数 总代码 代码优化解释 qsort 排序 qsort 的介绍 使用qsort排序整型数据 使用qsort排序结构数据 冒泡排序 首先,我先介绍我的冒泡…...
asp.net core webapi接收application/x-www-form-urlencoded和form-data参数
框架:asp.net core webapiasp.net core webapi接收参数,请求变量设置 目录 接收multipart/form-data、application/x-www-form-urlencoded类型参数接收URL参数接收上传的文件webapi接收json参数完整控制器,启动类参考Program.cs 接收multipar…...
程序环境和预处理(2)
文章目录 3.2.7 命名约定 3.3 #undef3.4 命令行定义3.5 条件编译3.6 文件包含3.6.1 头文件被包含的方式3.6.2 嵌套文件包含 4. 其他预处理指令 3.2.7 命名约定 一般来讲函数和宏的使用语法很相似,所以语言本身没法帮我们区分二者,那我们平时的一个习惯是…...
Redis安全加固策略:绑定Redis监听的IP地址 修改默认端口 禁用或者重命名高危命令
Redis安全加固策略:绑定Redis监听的IP地址 & 修改默认端口 & 禁用或者重命名高危命令 1.1 绑定Redis监听的IP地址1.2 修改默认端口1.3 禁用或者重命名高危命令1.4 附:redis配置文件详解(来源于网络) 💖The Beg…...
Vuepress的使用
介绍 将markdown静态资源转换成html。 动态资源的转换还有很多,为什么要使用Vuepress? 目录分析 项目配置 详情 具体配置请看文档 插件配置 vuepress-theme-vdoing 主题插件 npm install vuepress-theme-vdoing -D先安装依赖配置主题 使用vuep…...
docker安装php7.4安装
容器 docker pull centos:centos7 docker run -dit -p9100:9100 --name“dade” --privilegedtrue centos:centos7 /usr/sbin/init 一、安装前库文件和工具准备 1、首先安装 EPEL 源 yum -y install epel-release2.安装 REMI 源 yum -y install http://rpms.remirepo.net/en…...
曲线生成 | 图解Dubins曲线生成原理(附ROS C++/Python/Matlab仿真)
目录 0 专栏介绍1 什么是Dubins曲线?2 Dubins曲线原理2.1 坐标变换2.2 单步运动公式2.3 曲线模式 3 Dubins曲线生成算法4 仿真实现4.1 ROS C实现4.2 Python实现4.3 Matlab实现 0 专栏介绍 🔥附C/Python/Matlab全套代码🔥课程设计、毕业设计、…...
「Vue3系列」Vue3 组件
文章目录 一、Vue3 组件二、Vue3 组件实例三、Vue3 官方组件四、Vue3 常用组件五、相关链接 一、Vue3 组件 Vue3 是 Vue.js 的最新版本,它引入了许多新的特性和改进。在 Vue3 中,组件是构建应用程序的核心部分,它们可以重用、组合和嵌套。Vu…...
Git实战(2)
git work flow ------------------------------------------------------- ---------------------------------------------------------------- 场景问题及处理 问题1:最近提交了 a,b,c,d记录,想把b记录删掉其他提交记录保留: git reset …...
Java ElasticSearch-Linux面试题
Java ElasticSearch-Linux面试题 前言1、守护线程的作用?2、链路追踪Skywalking用过吗?3、你对G1收集器了解吗?4、你们项目用的什么垃圾收集器?5、内存溢出和内存泄露的区别?6、什么是Spring Cloud Bus?7、…...
微信小程序通过服务器控制ESP8266
声明 本文实现了ESP8266、微信小程序、个人服务器三者互相通信,并且小程序能发消息给微信用户 本文所有代码和步骤均为亲测有效 以下代码均为从网上搜索到后本人加以改动的,并非完全原创,若作者希望删除可联系我 ESP8266与个人服务器通信 ESP8266配置 通过串口通信使用…...
题目 1434: 蓝桥杯历届试题-回文数字
题目描述: 观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。 本题要求你找到一些5位或6位的十进制数字。满足如下要求: 该数字的各个数位…...
访问修饰符、Object(方法,使用、equals)、查看equals底层、final--学习JavaEE的day15
day15 一、访问修饰符 含义: 修饰类、方法、属性,定义使用的范围 理解:给类、方法、属性定义访问权限的关键字 注意: 1.修饰类只能使用public和默认的访问权限 2.修饰方法和属性可以使用所有的访问权限 访问修饰符本类本包…...
『大模型笔记』最大化大语言模型(LLM)的性能(来自OpenAI DevDay 会议)
最大化大语言模型(LLM)的性能(来自OpenAI DevDay 会议) 文章目录 一. 内容介绍1.1. 优化的两个方向(上下文优化和LLM优化)1.2. 提示工程:从哪里开始1.3. 检索增强生成:拓展知识边界1.4. 微调:专属定制二. 参考文献一. 内容介绍 简述如何以可扩展的方式把大语言模型(LLMs)…...
深度学习:开启你的AI探索之旅
在这个信息爆炸的时代,人工智能(AI)已经渗透到我们生活的方方面面,从智能语音助手到自动驾驶汽车,从智能推荐系统到医疗影像诊断,AI的身影无处不在。而深度学习,作为AI领域的一大核心技术,更是引领着这场科技革命的浪潮。那么,如何入门深度学习,踏上这趟充满挑战与机…...
第十四届蓝桥杯大赛B组 JAVA 蜗牛 (递归剪枝)
题目描述: 这天,一只蜗牛来到了二维坐标系的原点。 在 x 轴上长有 n 根竹竿。它们平行于 y 轴,底部纵坐标为 0,横坐标分别为 x1, x2, …, xn。竹竿的高度均为无限高,宽度可忽略。蜗牛想要从原点走到第 n 个竹竿的底部也…...
基于React低代码平台开发:构建高效、灵活的应用新范式
文章目录 一、React与低代码平台的结合优势二、基于React的低代码平台开发挑战三、基于React的低代码平台开发实践四、未来展望《低代码平台开发实践:基于React》编辑推荐内容简介作者简介目录前言为什么要写这本书 读者对象如何阅读本书 随着数字化转型的深入&…...
在Linux部署Docker并上传静态资源(快速教程)
Nginx快速上手 安装必要的软件包 yum install -y yum-utils device-mapper-persistent-data lvm2设置Docker仓库 通过以下命令添加Docker的官方仓库到yum源中: yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo安装Dock…...
【场景测试用例】带有广告图案的纸杯
从以下几个纬度出发考虑: 功能 是否可以承载液体,热水,温水,冰水是否可以承载非液体类的物品容量,空杯,半杯,满杯 UI 广告图案设计是否合理 性能 最大承受的容量内不漏水(负载测试)最大承受的温…...
《TCP/IP详解 卷一》第10章 UDP 和 IP 分片
目录 10.1 引言 10.2 UDP 头部 10.3 UDP校验和 10.4 例子 10.5 UDP 和 IPv6 10.6 UDP-Lite 10.7 IP分片 10.7.1 例子:IPV4 UDP分片 10.7.2 重组超时 10.8 采用UDP的路径MTU发现 10.9 IP分片和ARP/ND之间的交互 10.10 最大UDP数据报长度 10.11 UDP服务器…...
python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
