冒泡排序 和 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排序结构数据

在这篇文章中 (链接)-->一.学生成绩管理系统(简单) -->按学生的平均分进行从高到低排序 

能找到并详细讲解


 ***********************************************************分割线*****************************************************************************
完结!!!
感谢浏览和阅读。
等等等等一下,分享最近喜欢的一句话:

“风停在窗边嘱咐我,要热爱这个世界”。

我是白子寰,如果你喜欢我的作品,不妨你留个点赞+关注让我知道你曾来过。
你的点赞和关注是我持续写作的动力!!! 
好了划走把。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/426864.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

wordpress 开源主题

海外就医wordpress主题 出国看病、海外就医是越来越多中产家庭的选择&#xff0c;此wordpress主题适合做相关业务的公司官网。 https://www.jianzhanpress.com/?p5220 防护wordpress外贸主题 个人防护器具wordpress外贸主题&#xff0c;适合做劳动保护的外贸公司使用。 ht…

Mybatis plus拓展功能-JSON处理器

目录 1 前言 2 使用方法 2.1 定义json实体类 2.2 在实体类中使用 1 前言 这是我最近学到的比较新奇的一个东西&#xff0c;数据库居然还可以存储JSON格式的数据&#xff0c;如下。虽然我感觉一般也没谁会这样干&#xff0c;但是既然有&#xff0c;那就当个科普讲一下Mybat…

Linux多线程服务端编程:使用muduo C++网络库 学习笔记 附录D 关于TCP并发连接的几个思考题与试验

前几天作者在新浪微博上出了两道有关TCP的思考题&#xff0c;引发了一场讨论&#xff08;http://weibo.com/1701018393/eCuxDrtaONn&#xff09;。 第一道初级题目是&#xff1a;有一台机器&#xff0c;它有一个IP&#xff0c;上面运行了一个TCP服务程序&#xff0c;程序只侦听…

案例介绍:汽车售后服务网络构建与信息抽取技术应用(开源)

一、引言 在当今竞争激烈的汽车行业中&#xff0c;售后服务的质量已成为品牌成功的关键因素之一。作为一位经验丰富的项目经理&#xff0c;我曾参与构建一个全面的汽车售后服务网络&#xff0c;旨在为客户提供无缝的维修、保养和配件更换服务。这个项目的核心目标是通过高效的…

使用ES检索PDF或Word等格式文件方案

#大数据/ES #经验 #方案架构 ES检索PDF/Word等格式文件方案 插件安装 ES有文档预处理插件&#xff0c;但是7.x版本默认发版包不包含这个ingest attachment plugin 。 通过摄取附件插件&#xff0c;Elasticsearch 可以使用 Apache 文本提取库 Tika 提取常见格式的文件附件&a…

C++ //练习 10.2 重做上一题,但读取string序列存入list中。

C Primer&#xff08;第5版&#xff09; 练习 10.2 练习 10.2 重做上一题&#xff0c;但读取string序列存入list中。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 代码块 /******************************************************…

基于Springboot免费搭载轻量级阿里云OSS数据存储库(将本地文本、照片、视频、音频等上传云服务保存)

一、注册阿里云账户 打开https://www.aliyun.com/&#xff0c;申请阿里云账户并完成实名认证&#xff08;个人&#xff09;。这种情况就是完成了&#xff1a; 二、开通OSS服务 点击立即开通即可。 三、创建Bucket 申请id和secert&#xff1a; 进去创建一个Accesskey就会出现以…

C++实现简易版http server

mini服务器简介 mini服务器功能 1.实现了GET和POST方法的HTTP request和HTTP respond的构建和发送&#xff0c;使服务器可以完成基本通信功能。 2.使用了线程池技术&#xff0c;使服务器可以一次接收更多的链接和加快了服务器处理数据的速度。 3.实现了简易的CGI&#xff0…

pytorch_神经网络构建6

文章目录 强化学习概念实现qLearning基于这个思路,那么解决这个问题的代码如下 强化学习概念 强化学习有一个非常直观的表现&#xff0c;就是从出发点到目标之间存在着一个连续的状态转换&#xff0c;比如说从状态一到状态456&#xff0c;而每一个状态都有多种的行为&#xff…

外贸网站模板建站

测绘检测wordpress外贸主题 简洁实用的wordpress外贸主题&#xff0c;适合做测绘检测仪器设备的外贸公司使用。 https://www.jianzhanpress.com/?p5337 白马非马衣服WordPress外贸建站模板 白马非马服装行业wordpress外贸建站模板&#xff0c;适用于时间服装企业的官方网站…

新物种、新 CRISPR 系统!Evo 大模型突破全基因组生成,创造生物大模型新标杆...

Evo 由Arc Institute、斯坦福大学和TogetherAI的研究人员开发&#xff0c;是一个长上下文的生物基础模型&#xff0c;能够泛化生物学的基本语言&#xff1a;DNA、RNA 和蛋白质。它能够从单个分子到整个基因组规模&#xff08;超过650 kb&#xff09;进行预测任务和多模态长序列…

C语言-柔性数组成员的使用

文章目录 摘要柔性数组成员基本使用细节探究 零长度数组-定长数组-变长数组 摘要 本文先介绍柔性数组成员(flexible array member)的基本使用&#xff0c;然后介绍其内存结构。最后&#xff0c;补充了一些数组相关的其他概念。 柔性数组成员 基本使用 参考: 【C语言内功修炼…

EasyExcel3.1.1版本上传文件忽略列头大小写

1、背景 项目中使用easyExcel3.1.1版本实现上传下载功能&#xff0c;相关数据DTO以 ExcelProperty(value "dealer_gssn_id") 形式规定其每一列的名称&#xff0c;这样的话easyExcel会完全匹配对应的列名&#xff0c;即用户上传文件时&#xff0c;列名写成Dealer_…

LeetCode--42

42. 接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例 1&#xff1a; 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出&#xff1a;6 解释&#xff1a;上面是由数组 [0,1,0,2,1,0,1,…

访问修饰符、Object(方法,使用、equals)、查看equals底层、final--学习JavaEE的day15

day15 一、访问修饰符 含义&#xff1a; 修饰类、方法、属性&#xff0c;定义使用的范围 理解&#xff1a;给类、方法、属性定义访问权限的关键字 注意&#xff1a; ​ 1.修饰类只能使用public和默认的访问权限 ​ 2.修饰方法和属性可以使用所有的访问权限 访问修饰符本类本包…

Sqli-labs靶场第16关详解[Sqli-labs-less-16]自动化注入-SQLmap工具注入

Sqli-labs-Less-16 #自动化注入-SQLmap工具注入 SQLmap用户手册&#xff1a;文档介绍 - sqlmap 用户手册 以非交互式模式运行 --batch 当你需要以批处理模式运行 sqlmap&#xff0c;避免任何用户干预 sqlmap 的运行&#xff0c;可以强制使用 --batch 这个开关。这样&#xff0…

UV画贴图时如何去掉一部分

1.纹理先选psd 2. altshift 把要去掉的中选中 选择几何体-隐藏选择

动态规划(算法竞赛、蓝桥杯)--区间DP石子合并与环形石子合并、能量项链

1、B站视频链接&#xff1a;E28【模板】区间DP 石子合并_哔哩哔哩_bilibili 题目链接&#xff1a;石子合并&#xff08;弱化版&#xff09; - 洛谷 #include <bits/stdc.h> using namespace std; const int N310; int n,a[N],s[N]; int f[N][N];//f[i][j]表示从i到j合并…

2.模拟问题——5.星期几与字符串对应

输入输出示例 输入&#xff1a; 9 October 2001 14 October 2001 输出&#xff1a; Tuesday Sunday 【原题链接】 字符串处理 C风格的字符串 字符数组&#xff0c;以’\0‘结尾建议在输入输出语句中使用 C风格的字符串 #include <string> using namespace std;初始化…

智慧公厕:打造智慧城市的环卫明珠

在城市建设中&#xff0c;公共卫生设施的完善和智能化一直是重要环节。而智慧公厕作为智慧城市建设的重要组成部分&#xff0c;发挥着不可替代的作用。本文以智慧公厕源头实力厂家广州中期科技有限公司&#xff0c;大量精品案例现场实景实图&#xff0c;解读智慧公厕如何助力打…