C题目11:数组a[m]排序
每日小语
双手,且放下一切劳作,前额,也忘掉忧思,此时此刻我所有的感觉就想沉入安睡。
自己敲写
这个问题老师上课讲了一种方法,叫做冒泡排序。基本思想是
1.找最小值,放到a[0]
2.从a[1]~a[3]找最小值,放到a[1]
自己敲写的时候,问题首先出在了如何设置一个初始变量上
int arr[5] = {10, 20, 30, 40, 50};
#include <stdio.h>int main()
{int a[5]={1,4,3,5,2};for(int i=0;i>0;i++){for(int j=1;j>0;j++){if (a[i]>a[j]){a[i]=a[j];a[j]=a[i];}}}printf(a);return 0;
}
目前代码。问题很多。
#include <stdio.h>int main()
{int a[5] = {1, 4, 3, 5, 2};for (int i = 0; i < 4; i++){for (int j = 0; j < 4; j++){if (a[j] > a[j+1]){int temp = a[j];a[j] = a[j+1];a[j+1] = temp;}}}printf("Sorted Array: %d %d %d %d %d\n", a[0], a[1], a[2], a[3], a[4]);return 0;
}
-
在外层循环中,
i应该从0开始递增,而不是i>0。循环条件应为i<4,因为数组长度为5,下标从0到4。 -
在内层循环中,
j应该从0开始递增,而不是j>0。循环条件应为j<4。 -
在交换数组元素的部分,应该是先将较大的元素赋值给临时变量,然后再将较小的元素赋值给较大的元素,最后再将临时变量赋值给较小的元素。
-
在使用
printf输出数组时,需要提供一个格式字符串,例如"Array: %d %d %d %d %d\n",并提供要输出的数组元素。 -
问题还是出在循环,两层循环理解不当。
当使用冒泡排序算法时,两层嵌套循环的作用是进行比较和交换操作,以便将较大的元素逐步移动到数组的末尾。以下是两层循环的具体作用:
1. **外层循环(i循环):** 外层循环负责控制每一轮的比较和交换操作。对于长度为 n 的数组,需要进行 n-1 轮比较,确保数组中的所有元素都被正确地排序。外层循环的索引变量通常用 i 表示。
```c
for (int i = 0; i < 4; i++)
{
// 内层循环将执行比较和交换操作
}
```2. **内层循环(j循环):** 内层循环负责实际的比较和交换操作。在每一轮外层循环中,内层循环从数组的起始位置开始,依次比较相邻的两个元素,并根据需要进行交换。内层循环的索引变量通常用 j 表示。
```c
for (int j = 0; j < 4 - i; j++)
{
// 比较和交换操作
}
```- `4 - i` 是因为在每一轮外层循环之后,数组的末尾已经是当前轮次中最大的元素,不再需要比较和交换。因此,内层循环的范围在逐渐减小。
- 比较相邻元素,如果前一个元素大于后一个元素,则交换它们的位置,以确保较大的元素向数组的末尾移动。
整体来说,两层循环共同工作,通过多次比较和交换,将数组中较大的元素逐步移动到末尾,实现排序的目的。这就是冒泡排序算法的基本思想。
相关文章:
C题目11:数组a[m]排序
每日小语 双手,且放下一切劳作,前额,也忘掉忧思,此时此刻我所有的感觉就想沉入安睡。 自己敲写 这个问题老师上课讲了一种方法,叫做冒泡排序。基本思想是 1.找最小值,放到a[0] 2.从a[1]~a[3]找最小值&a…...
编译器安全
在供应链安全中,大家一直关注采用SCA工具分析开源组件中的安全漏洞以及许可证的合规性。但是对于底层软件开发使用的编译器、链接器等安全却容易被忽视,其中有没有安全漏洞、有没有运行时缺陷、有没有被植入漏洞、木马等,似乎并没有引起多少人…...
docker部署gitlab 12.10.6过程
docker部署gitlab 12.10.6过程 1.docker安装 docker指定版本安装【官方文档步骤】 官方文档地址:https://docs.docker.com/engine/install/centos/ # 1.安装yum工具及设置docker-ce镜像库 sudo yum install -y yum-utils# 国外的镜像下载太慢了改成阿里云镜像库 s…...
单例设计模式是什么?什么是 Singleton 单例设计模式?Python 单例(单件)设计模式示例代码
什么是 Singleton 单例设计模式? 单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来访问该实例。 主要思想: 单例模式确保某个类只有一个实例,并提供了一个访问该实例的全局访问点。它…...
Redis跳跃表
前言 跳跃表(skiplist)是一种有序数据结构,它通过在每一个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。 跳跃表支持平均O(logN),最坏O(N),复杂度的节点查找,还可以通过顺序性来批量处理节点…...
C++基础从0到1入门编程(二)
系统学习C 方便自己日后复习,错误的地方希望积极指正 往期文章:C基础从0到1入门编程(一) 参考视频: 1.黑马程序员匠心之作|C教程从0到1入门编程,学习编程不再难 2.系统化学习C 1 函数指针和回调函数 如果把函数的地址…...
Uniapp扫码预览连接地址与手机不在同一网段
在开发Uniapp应用时,这里有一个扫码预览的功能,电脑与手机都是在一网络下,之前点开后预览地址一直是169.254.3.x的地址,通过WINR键输入cmd运行,然后ipconfig查看所有网络连接。发现有一个虚拟网络连接的地址是169.251.…...
万界星空科技SMT行业生产管理MES系统解决方案
一、SMT行业特点: SMT(Surface Mounted Technology)作为电子组装行业里首先的技术和工艺,选择合适的MES解决方案来保障SMT生产的成功至关重要。 电子行业涉及的范围非常广,包含了汽车、电脑、电视、手机等产品上&…...
vue3 uniapp h5 安卓和iOS开发适配踩坑记录
font-size适配屏幕大小及iOS和安卓状态栏及安全距离的处理 App.vue <script setup lang"ts"> import { onLaunch, onShow, onHide } from "dcloudio/uni-app"; import ./main.scss onLaunch(() > {console.log("App Launch");var wid…...
inf和nan
在某些编程语法中inf表示无穷大,nan表示不是一个数(not a number) nan表示这个数不确定,而无穷大表示这个数任意大 1/0inf 这里把0当做一个无限接近0,但是非0的数 5-inf-inf 一个数减去无穷大会等于负无穷大 而inf-infnan 因为两个无穷大相减有很多可能,可能等于一个常数,也可能…...
十. Linux关机重启命令与Vim编辑的使用
关机重启命令 shutdown命令 其他关机命令 其他重启命令 系统运行级别 系统默认运行级别与查询 退出登录命令logout 文本编辑器Vim Vim简介 没有菜单,只有命令Vim工作模式 Vim常用命令 插入命令 定位命令 删除命令 复制和剪切命令 替换和取消命令 搜索和搜索替换命令 保存和退出…...
Spring-IOC-@Value和@PropertySource用法
1、Book.java PropertySource(value"classpath:配置文件地址") 替代 <context:property-placeholder location"配置文件地址"/> Value("${book.bid}") Value("${book.bname}") Value("${book.price}") <bean id&…...
如何理解Python中一切皆对象?
Python 一、示例代码二、Python中的魔法方法 一、示例代码 有理数类 import mathclass rational:def __init__(self,p,q):self.p pself.q qdef __str__(self):return "{} / {}".format(self.p,self.q)def simplify(self):gcd math.gcd(self.p,self.q)return rat…...
【如何学习Python自动化测试】—— 鼠标键盘操作
5 、 鼠标键盘操作 在浏览器中,通常会用到鼠标来进行操作,比如右键菜单中选择一个操作,在 selenium 中提供了下列鼠标相关操作。 ActionChains 类提供了以下方法: 点击鼠标:click()右击鼠标:context…...
随笔-事儿就这么个事儿
好久没写了,小A要催更,还答应让我写一下他的经历,这还有啥说的,开整。 1、升级 前段时间登录公司的办公系统处理一个事务申请,发现有个粗体标红的通知,是关于今年的晋升名单公示。进去看了一眼࿰…...
django理解03 数据库引入
配置 settings.py DATABASES {"default": {"ENGINE": "django.db.backends.mysql",NAME:307_django_db,USER: root,PASSWORD: 123456,HOST: 127.0.0.1,PORT: 3306,} }先创建指定名称的数据库databases create database self_django_db DEFAUL…...
Jtti:windows中apache怎么实现负载均衡
Jtti:windows中apache怎么实现负载均衡 在Windows环境下,你可以使用Apache HTTP Server搭建负载均衡集群。Apache提供了一个模块叫做mod_proxy,它可以用来实现反向代理和负载均衡。以下是一个简单的步骤来配置Apache负载均衡: 步骤…...
2311rust,到43版本更新
1.38.0 流水编译 要编译仓库,编译器不需要完全构建依赖项.相反,只需要它们的"元数据"(即类型,依赖关系,导出列表). 在编译过程的早期生成此元数据.从Rust1.38.0开始,Cargo利用这一点,在准备好元数据后立即自动开始构建依赖的仓库. 检查错误使用mem::{uninitialize…...
前端埋点上报的几种方式
现代Web应用程序中,埋点上报是一种重要的数据收集和分析手段。本文将介绍前端埋点上报的几种常见方式,并详细阐述如何在项目中运用这些方式进行数据上报,以帮助开发者更好地进行数据收集和分析。 上报方式 在前端中,常见的埋点上…...
外部 prometheus监控k8s集群资源
prometheus监控k8s集群资源 一,通过CADvisior 监控pod的资源状态1.1 授权外边用户可以访问prometheus接口。1.2 获取token保存1.3 配置prometheus.yml 启动并查看状态1.4 Grafana 导入仪表盘 二,通过kube-state-metrics 监控k8s资源状态2.1 部署 kube-st…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...
push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...
腾讯云V3签名
想要接入腾讯云的Api,必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口,但总是卡在签名这一步,最后放弃选择SDK,这次终于自己代码实现。 可能腾讯云翻新了接口文档,现在阅读起来,清晰了很多&…...
