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

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;
}
  1. 在外层循环中,i 应该从0开始递增,而不是 i>0。循环条件应为 i<4,因为数组长度为5,下标从0到4。

  2. 在内层循环中,j 应该从0开始递增,而不是 j>0。循环条件应为 j<4

  3. 在交换数组元素的部分,应该是先将较大的元素赋值给临时变量,然后再将较小的元素赋值给较大的元素,最后再将临时变量赋值给较小的元素。

  4. 在使用 printf 输出数组时,需要提供一个格式字符串,例如 "Array: %d %d %d %d %d\n",并提供要输出的数组元素。

  5. 问题还是出在循环,两层循环理解不当。

    当使用冒泡排序算法时,两层嵌套循环的作用是进行比较和交换操作,以便将较大的元素逐步移动到数组的末尾。以下是两层循环的具体作用:

    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]排序

每日小语 双手&#xff0c;且放下一切劳作&#xff0c;前额&#xff0c;也忘掉忧思&#xff0c;此时此刻我所有的感觉就想沉入安睡。 自己敲写 这个问题老师上课讲了一种方法&#xff0c;叫做冒泡排序。基本思想是 1.找最小值&#xff0c;放到a[0] 2.从a[1]~a[3]找最小值&a…...

编译器安全

在供应链安全中&#xff0c;大家一直关注采用SCA工具分析开源组件中的安全漏洞以及许可证的合规性。但是对于底层软件开发使用的编译器、链接器等安全却容易被忽视&#xff0c;其中有没有安全漏洞、有没有运行时缺陷、有没有被植入漏洞、木马等&#xff0c;似乎并没有引起多少人…...

docker部署gitlab 12.10.6过程

docker部署gitlab 12.10.6过程 1.docker安装 docker指定版本安装【官方文档步骤】 官方文档地址&#xff1a;https://docs.docker.com/engine/install/centos/ # 1.安装yum工具及设置docker-ce镜像库 sudo yum install -y yum-utils# 国外的镜像下载太慢了改成阿里云镜像库 s…...

单例设计模式是什么?什么是 Singleton 单例设计模式?Python 单例(单件)设计模式示例代码

什么是 Singleton 单例设计模式&#xff1f; 单例模式是一种创建型设计模式&#xff0c;它确保一个类只有一个实例&#xff0c;并提供一个全局访问点来访问该实例。 主要思想&#xff1a; 单例模式确保某个类只有一个实例&#xff0c;并提供了一个访问该实例的全局访问点。它…...

Redis跳跃表

前言 跳跃表(skiplist)是一种有序数据结构&#xff0c;它通过在每一个节点中维持多个指向其他节点的指针&#xff0c;从而达到快速访问节点的目的。 跳跃表支持平均O(logN)&#xff0c;最坏O(N)&#xff0c;复杂度的节点查找&#xff0c;还可以通过顺序性来批量处理节点…...

C++基础从0到1入门编程(二)

系统学习C 方便自己日后复习&#xff0c;错误的地方希望积极指正 往期文章&#xff1a;C基础从0到1入门编程&#xff08;一&#xff09; 参考视频&#xff1a; 1.黑马程序员匠心之作|C教程从0到1入门编程,学习编程不再难 2.系统化学习C 1 函数指针和回调函数 如果把函数的地址…...

Uniapp扫码预览连接地址与手机不在同一网段

在开发Uniapp应用时&#xff0c;这里有一个扫码预览的功能&#xff0c;电脑与手机都是在一网络下&#xff0c;之前点开后预览地址一直是169.254.3.x的地址&#xff0c;通过WINR键输入cmd运行&#xff0c;然后ipconfig查看所有网络连接。发现有一个虚拟网络连接的地址是169.251.…...

万界星空科技SMT行业生产管理MES系统解决方案

一、SMT行业特点&#xff1a; SMT&#xff08;Surface Mounted Technology&#xff09;作为电子组装行业里首先的技术和工艺&#xff0c;选择合适的MES解决方案来保障SMT生产的成功至关重要。 电子行业涉及的范围非常广&#xff0c;包含了汽车、电脑、电视、手机等产品上&…...

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 、 鼠标键盘操作 在浏览器中&#xff0c;通常会用到鼠标来进行操作&#xff0c;比如右键菜单中选择一个操作&#xff0c;在 selenium 中提供了下列鼠标相关操作。 ActionChains 类提供了以下方法&#xff1a; 点击鼠标&#xff1a;click()右击鼠标&#xff1a;context…...

随笔-事儿就这么个事儿

好久没写了&#xff0c;小A要催更&#xff0c;还答应让我写一下他的经历&#xff0c;这还有啥说的&#xff0c;开整。 1、升级 前段时间登录公司的办公系统处理一个事务申请&#xff0c;发现有个粗体标红的通知&#xff0c;是关于今年的晋升名单公示。进去看了一眼&#xff0…...

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&#xff1a;windows中apache怎么实现负载均衡 在Windows环境下&#xff0c;你可以使用Apache HTTP Server搭建负载均衡集群。Apache提供了一个模块叫做mod_proxy&#xff0c;它可以用来实现反向代理和负载均衡。以下是一个简单的步骤来配置Apache负载均衡&#xff1a; 步骤…...

2311rust,到43版本更新

1.38.0 流水编译 要编译仓库,编译器不需要完全构建依赖项.相反,只需要它们的"元数据"(即类型,依赖关系,导出列表). 在编译过程的早期生成此元数据.从Rust1.38.0开始,Cargo利用这一点,在准备好元数据后立即自动开始构建依赖的仓库. 检查错误使用mem::{uninitialize…...

前端埋点上报的几种方式

现代Web应用程序中&#xff0c;埋点上报是一种重要的数据收集和分析手段。本文将介绍前端埋点上报的几种常见方式&#xff0c;并详细阐述如何在项目中运用这些方式进行数据上报&#xff0c;以帮助开发者更好地进行数据收集和分析。 上报方式 在前端中&#xff0c;常见的埋点上…...

外部 prometheus监控k8s集群资源

prometheus监控k8s集群资源 一&#xff0c;通过CADvisior 监控pod的资源状态1.1 授权外边用户可以访问prometheus接口。1.2 获取token保存1.3 配置prometheus.yml 启动并查看状态1.4 Grafana 导入仪表盘 二&#xff0c;通过kube-state-metrics 监控k8s资源状态2.1 部署 kube-st…...

基于MCP协议的AI Agent工具集成框架:mcp-remnawave架构解析与实战

1. 项目概述&#xff1a;一个面向AI代理的模块化工具集成框架最近在折腾AI应用开发&#xff0c;特别是围绕AI Agent&#xff08;智能体&#xff09;的生态构建时&#xff0c;发现一个挺有意思的项目&#xff1a;moksharth77/mcp-remnawave。乍一看这个仓库名&#xff0c;可能会…...

抖音直播间弹幕数据抓取技术深度解析:如何绕过复杂签名机制实现实时数据采集

抖音直播间弹幕数据抓取技术深度解析&#xff1a;如何绕过复杂签名机制实现实时数据采集 【免费下载链接】DouyinLiveWebFetcher 抖音直播间网页版的弹幕数据抓取&#xff08;2025最新版本&#xff09; 项目地址: https://gitcode.com/gh_mirrors/do/DouyinLiveWebFetcher …...

ClawRecall:为AI Agent设计的三层记忆系统与Token预算管理

1. 项目概述&#xff1a;为AI Agent构建轻量、持久的记忆系统 在构建AI Agent时&#xff0c;我们常常面临一个核心矛盾&#xff1a;为了让Agent显得“聪明”且“善解人意”&#xff0c;它需要记住与用户交互的历史、用户的偏好以及它自己做出的关键决策&#xff1b;但另一方面&…...

LLMs 的软件/硬件协同优化策略 – 第二部分(软件)

原文&#xff1a;towardsdatascience.com/sw-hw-co-optimization-strategy-for-llms-part-2-software-65ea2247481e 随着新的 LLM 模型和特性的不断涌现&#xff08;查看hugging face LLM 排行榜&#xff09;&#xff0c;软件工具和库的发布速度正在加快。这种快速进步也在 AI …...

游戏服务器容器化部署:基于Docker的Archon镜像实战指南

1. 项目概述&#xff1a;一个为游戏服务器量身定制的容器化部署方案如果你和我一样&#xff0c;曾经被游戏服务器的部署、迁移和运维搞得焦头烂额&#xff0c;那么看到SufficientDaikon/archon这个项目&#xff0c;你可能会和我当初一样眼前一亮。这本质上是一个为特定游戏&…...

AISMM模型成熟度评估全解析(附2024最新打分细则与组织自测速查表)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AISMM模型评估报告解读会 AISMM&#xff08;AI Security Maturity Model&#xff09;是由国际云安全联盟&#xff08;CSA&#xff09;提出的面向生成式AI系统安全能力的成熟度评估框架&#xff0c;其评…...

golang如何实现桌面应用热更新_golang桌面应用热更新实现攻略

Go桌面应用无法真正热更新&#xff0c;只能通过go-selfupdate实现无缝重启&#xff1a;下载校验新二进制、替换并重启&#xff0c;需适配各平台签名与自启机制&#xff0c;插件机制不可行&#xff0c;核心难点在于更新时机判断与状态快照恢复。Go 桌面应用热更新无法真正“热”…...

前端光标交互深度实践:从CSS属性到无障碍访问的完整指南

1. 项目概述与核心价值最近在整理个人项目时&#xff0c;我重新审视了一个几年前启动但一直觉得很有意思的仓库&#xff1a;seanpm2001/Computer-cursor-tech-support_Website。光看这个标题&#xff0c;你可能会有点摸不着头脑——“计算机光标技术支持网站”&#xff1f;这听…...

Native Instruments Komplete 26 音乐制作套装发布:新增 62 款组件,多版本满足多样需求

Native Instruments Komplete 26&#xff1a;音乐制作套装再升级Native Instruments 推出了最新版的 Komplete 音乐制作套装&#xff0c;新增 62 款组件&#xff0c;其中 Absynth 6 十分独特。Komplete 26 有多种版本&#xff0c;包括三款售价 99 美元的精选套装&#xff0c;以…...

基于AI与大语言模型的书签智能管理:从向量数据库到语义搜索的实践

1. 项目概述&#xff1a;当书签管理遇上AI作为一名在互联网行业摸爬滚打了十几年的老鸟&#xff0c;我收藏夹里的书签数量&#xff0c;大概能见证整个互联网的变迁。从早期的“网页快照”到后来的“稍后阅读”&#xff0c;工具换了一茬又一茬&#xff0c;但痛点始终如一&#x…...