NO.22十六届蓝桥杯备战|一维数组|七道练习|冒泡排序(C++)
B2093 查找特定的值 - 洛谷
- 题⽬要求下标是从0开始的,和数组的下标是吻合的,存放数据应该从下标0开始
- n的取值范围是1~10000
- 数组中存放的值的绝对值不超10000,说明int类型就⾜够了
- 找到了输出下标,找不到要输出-1,这⼀点要注意,很容易忽略
#include <bits/stdc++.h>
using namespace std;int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);int n;cin >> n;vector<int> arr(n);for(auto &x : arr){cin >> x;}int a;cin >> a;int i = 0;int flg = true;for(auto x : arr){if (a == x){cout << i << '\n';flg = false;break;}i++;}if (flg){cout << -1 << '\n';}return 0;
}
#include <iostream>
using namespace std; const int N = 10010;
int arr[N]; int main()
{ int n = 0; cin >> n; for (int i = 0; i < n; i++) { cin >> arr[i]; } int k = 0;cin >> k; int i = 0; for (i = 0; i < n; i++) { if (k == arr[i]) { cout << i << endl; break; } } if (i == n) cout << -1 << endl; return 0;
}
- 有的题⽬要求数据从下标0的位置开始存放,也有些题⽬要求数据是从下标1的位置开始存放,要仔细阅读题⽬。让从下标1开始存放的时候,数组的开辟必须要有多余的空间使⽤,如果开辟的刚刚好就会越界。
- 数组空间的开辟要⾜够,以免数据越界,所以经常题⽬需要存放n个数据,就开辟n+10个空间,这样空间就⾮常充⾜,⽐较保险。其实在空间⾜够的情况下,浪费⼀点空间是不影响的。动态规划相关算法,⼀般都会预留好空间。
- ⼀般数组较⼤的时候,建议将数组创建成全局数组,因为局部的数组太⼤的时候,可能会导致程序⽆法运⾏,刷题多了就⻅怪不怪了。全局变量(数组)是在内存的静态区开辟空间,但是局部的变量(数组)是在内存的栈区开辟空间的,每个程序的栈区空间是有限的,不会很⼤。
B2089 数组逆序重存放 - 洛谷
#include <bits/stdc++.h>
using namespace std;int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);int n;cin >> n;vector<int> a(n);for (auto &x : a){cin >> x; }int left = 0, right = n - 1;while (left <= right){int tmp = a[left];a[left] = a[right];a[right] = tmp;left++;right--;}for (auto x : a){cout << x << ' '; }return 0;
}
#include <iostream>
using namespace std; int arr[110] = { 0 }; int main()
{ int n = 0; cin >> n; int i = 0; for (i = 0; i < n; i++) cin >> arr[i]; //逆序 int left = 0; int right = n - 1; while (left < right) { int tmp = arr[left]; arr[left] = arr[right]; arr[right] = tmp; left++; right--; } for (i = 0; i < n; i++) cout << arr[i] << " "; return 0;
}
#include <iostream>
using namespace std; int arr[110] = { 0 }; int main()
{ int n = 0; cin >> n; int i = 0; for (i = 0; i < n; i++) cin >> arr[i]; //逆序输出 for (i = n - 1; i >= 0; i--) cout << arr[i] << " "; return 0;
}
B2091 向量点积计算 - 洛谷
#include <bits/stdc++.h>
using namespace std;int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);int n;cin >> n;vector<int> a(n);for (auto &x : a){cin >> x; }vector<int> b(n);for (auto &x : b){cin >> x; }int ans = 0;for (int i = 0; i < n; i++){ans += a[i] * b[i];}cout << ans << '\n';return 0;
}
#include <iostream>
using namespace std; const int N = 1010;
int arr1[N];
int arr2[N]; int main()
{ int n = 0; cin >> n; for (int i = 0; i < n; i++) { cin >> arr1[i]; }for (int i = 0; i < n; i++) { cin >> arr2[i]; } int ret = 0; for (int i = 0; i < n; i++) {ret += arr1[i] * arr2[i]; } cout << ret << endl; return 0;
}
#include <iostream>
using namespace std; const int N = 1010;
int arr1[N]; int main()
{ int n = 0; int m = 0; cin >> n; for (int i = 0; i < n; i++) { cin >> arr1[i]; } int ret = 0;for (int i = 0; i < n; i++) { cin >> m; ret += arr1[i] * m; } cout << ret << endl; return 0;
}
B2090 年龄与疾病 - 洛谷
#include <bits/stdc++.h>
using namespace std;int main()
{int n;cin >> n;vector<int> p(n);for (auto &x : p){cin >> x; }//0-18 、 19-35 、 36-60、 61int c = 0, t = 0, a = 0, o = 0;for (auto x : p){if (x >= 0 && x <= 18)c++;if (x > 18 && x <= 35)t++;if (x > 35 && x <= 60)a++;if (x > 60)o++;}printf("%.2f%%\n", c * 100.0 / n);printf("%.2f%%\n", t * 100.0 / n);printf("%.2f%%\n", a * 100.0 / n);printf("%.2f%%\n", o * 100.0 / n);return 0;
}
这组数据不存储下来也是可以的,因为只有⼀组数据,所以⼀边读取,⼀边统计也是可以的,这样省略了数组空间的开销
#include <iostream>
using namespace std; int n;
int num;
int p1, p2, p3, p4; int main()
{ cin >> n; int i = 0; //输⼊⼀个处理⼀个 for (i = 0; i < n; i++) { cin >> num; if (num >= 0 && num <= 18) p1++; else if (num >= 19 && num <= 35) p2++; else if (num >= 36 && num <= 60) p3++; else p4++; } printf("%.2f%%\n", p1 * 1.0 / n * 100); printf("%.2f%%\n", p2 * 1.0 / n * 100); printf("%.2f%%\n", p3 * 1.0 / n * 100); printf("%.2f%%\n", p4 * 1.0 / n * 100); return 0;
}
题⽬要求输出的是百分⽐,是带%的,这个要特殊处理⼀下
B2092 开关灯 - 洛谷
#include <bits/stdc++.h>
using namespace std;const int N = 5010;
int a[N] = {0};int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);int n;cin >> n;for(int i = 2; i <= n; i++){for (int j = i; j <= n; j++){if (j % i == 0){//arr[j] = !arr[j];if(a[j] == 1)a[j] = 0;elsea[j] = 1;}}}for (int i = 1; i <= n; i++){if (a[i] == 0)cout << i << ' ';}cout << endl;return 0;
}
P1428 小鱼比可爱 - 洛谷
#include <bits/stdc++.h>
using namespace std;int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);int n;cin >> n;vector<int> a(n);for (auto &x : a){cin >> x; }for (int i = 0; i < n; i++){int cnt = 0;for (int j = 0; j < i; j++){if (a[j] < a[i]){cnt++;}}cout << cnt << ' ';}return 0;
}
冒泡排序
冒泡排序的原理:通过重复地遍历待排序的数列,依次⽐较相邻元素并交换,使得每⼀轮遍历都将未排序部分的最⼤或最⼩值“冒泡”到数列的⼀端
#include <bits/stdc++.h>
using namespace std;int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);int n;cin >> n;vector<int> a(n);for (auto &x : a){cin >> x;}for (int i = 0; i < n - 1; i++){for (int j = 0; j < n - 1 - i; j++){if (a[j] < a[j + 1]){int tmp = a[j];a[j] = a[j+1];a[j+1] = tmp;}}}for (auto x : a){cout << x << endl;}return 0;
}
相关文章:

NO.22十六届蓝桥杯备战|一维数组|七道练习|冒泡排序(C++)
B2093 查找特定的值 - 洛谷 题⽬要求下标是从0开始的,和数组的下标是吻合的,存放数据应该从下标0开始n的取值范围是1~10000数组中存放的值的绝对值不超10000,说明int类型就⾜够了找到了输出下标,找不到要输出-1,这⼀点…...
Mysql的索引失效
MySQL 的索引失效指的是:尽管在表上建立了索引,但在某些查询场景下,MySQL 优化器却没有利用这些索引,从而导致查询走了全表扫描,性能大大降低。下面详细说明几种常见的导致索引失效的情况及其原因: 1. 对索…...

现代前端框架渲染机制深度解析:虚拟DOM到编译时优化
引言:前端框架的性能进化论 TikTok Web将React 18迁移至Vue 3后,点击响应延迟降低42%,内存占用减少35%。Shopify采用Svelte重构核心交互模块,首帧渲染速度提升580%。Discord在Next.js 14中启用React Server Components后…...
set 和 map 的左右护卫 【刷题反思】
1. 相近的营业额 1.1 题目 题目描述:我们定义,一天营业额的最小波动 min { | 该天以前某一天的营业额 - 该天营业额 | } 特别的,第一天的营业额最小波动为第一天的营业额 输入描述:第一行 n (n < 32767…...

【Linux高级IO】多路转接(poll epoll)
目录 1. poll 2. epoll 2.1 epoll_ctl 2.2 epoll_wait 2.3 epoll原理 2.4 epoll的工作模式 2.5 epoll的惊群效应 使用建议 总结 1. poll poll也是实现 I/O 多路复用的系统调用,可以解决select等待fd上限的问题,将输入输出参数分离,不需要…...
Linux上用C++和GCC开发程序实现两个不同PostgreSQL实例下单个数据库中多个Schema稳定高效的数据迁移到其它PostgreSQL实例
设计一个在Linux上运行的GCC C程序,同时连接三个不同的PostgreSQL实例,其中两个实例中分别有两个数据库中多个Schema的表结构分别与第三实例中两个数据库中多个Schema个结构完全相同,同时复制两个实例中两个数据库中多个Schema里的所有表的数…...

Linux下的网络通信编程
在不同主机之间,进行进程间的通信。 1解决主机之间硬件的互通 2.解决主机之间软件的互通. 3.IP地址:来区分不同的主机(软件地址) 4.MAC地址:硬件地址 5.端口号:区分同一主机上的不同应用进程 网络协议…...

Windows在多网络下指定上网接口
Windows在多网络下指定上网接口 一、说明 设备情况:win11,同时连接了有线网和WLAN,有线网连接着NAS必须保持连接。需求:有些情况时,有线网无网络而WLAN有网,但系统仍走着有线导致无法上网。 二、方法 过…...
网络安全员证书
软考网络安全员证书:信息安全领域的黄金标准 随着信息技术的飞速发展,网络安全问题日益凸显,网络安全员的需求也日益增加。软考网络安全员证书作为信息安全领域的黄金标准,对于网络安全从业者来说具有重要意义。本文将详细介绍…...

CMU15445(2023fall) Project #4 - Concurrency Control踩坑历程
把树木磨成月亮最亮时的样子, 就能让它更快地滚下山坡, 有时会比骑马还快。 完整代码见: SnowLegend-star/CMU15445-2023fall: Having Conquered the Loftiest Peak, We Stand But a Step Away from Victory in This Stage. With unwavering…...

医疗AR眼镜:FPC如何赋能科技医疗的未来之眼?【新立电子】
随着科技的飞速发展,增强现实(AR)技术在医疗领域的应用逐渐成为焦点。医疗AR眼镜作为一种前沿的智能设备,正在为医疗行业带来深刻的变革。它不仅能够提升医生的工作效率,还能改善患者的就医体验,成为医疗科…...

Python从0到100(八十九):Resnet、LSTM、Shufflenet、CNN四种网络分析及对比
前言: 零基础学Python:Python从0到100最新最全教程。 想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…...
服务器迁移记录【腾讯云-->阿里云】
准备工作 压缩/root /usr/local/nginx /data三个目录到zip,并下载到本地。 zip root.zip /root zip nginx.zip /usr/local/nginx zip data.zip /datasz root.zip sz nginx.zip sz data.zip连接mysql数据库,导出数据库结构与数据到dzs_mysql.sql 安装l…...

序列化选型:字节流抑或字符串
序列化既可以将对象转换为字节流,也可以转换为字符串,具体取决于使用的序列化方式和场景。 转换为字节流 常见工具及原理:在许多编程语言中,都有将对象序列化为字节流的机制。例如 Python 中的 pickle 模块、Java 中的对象序列化…...

面向实时性的超轻量级动态感知视觉SLAM系统
一、重构后的技术架构设计(基于ROS1 ORB-SLAM2增强) #mermaid-svg-JEJte8kZd7qlnq3E {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-JEJte8kZd7qlnq3E .error-icon{fill:#552222;}#mermaid-svg-JEJte8kZd7qlnq3E .…...
4-3自定义加载器,并添加功能
一、自定义类加载器的实现步骤 继承ClassLoader类 自定义类加载器需继承java.lang.ClassLoader,并选择性地重写以下方法: findClass(String name):核心方法,用于根据类名查找并加载类的字节码。需从自定义路径(…...
Python Scrapy爬虫面试题及参考答案
目录 简述 Scrapy 框架的基本工作流程,并说明各组件的作用 Scrapy 中的 Spider、CrawlSpider 和 Rule 的作用及区别? 如何通过 Scrapy Shell 快速调试页面解析逻辑? Scrapy 的 start_requests 方法与 start_urls 的关系是什么? 解释 Scrapy 的 Request 和 Response 对象…...
Swan 表达式 - 选择表达式
ANSYS Swan 表达式支持选择(selection)表达式 case, if/then/else。选择表达式根据特定的条件选择不同的分支流。 if/then/else 表达式 if/then/else 表达式的文法如下 if expr then expr else expr 其中,首个expr 的布尔表达式,若其为 true, 则返回 …...

微信小程序:完善购物车功能,购物车主页面展示,详细页面展示效果
一、效果图 1、主页面 根据物品信息进行菜单分类,点击单项购物车图标添加至购物车,记录总购物车数量 2、购物车详情页 根据主页面选择的项,根据后台查询展示到页面,可进行多选,数量加减等 二、代码 1、主页面 页…...
javaweb将上传的图片保存在项目文件webapp下的upload文件夹下
前端HTML表单 (upload.html) 首先,创建一个HTML页面,允许用户选择并上传图片。 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><title>图片上传</title> </head> <…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...
怎么让Comfyui导出的图像不包含工作流信息,
为了数据安全,让Comfyui导出的图像不包含工作流信息,导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo(推荐) 在 save_images 方法中,删除或注释掉所有与 metadata …...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?
在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...