c++中一维数组和二维数组的应用

c++数组的使用

一维数组

冒泡排序:相邻的两个元素进行比较,较大的就排在后面。

cpp 复制代码
#include<iostream>
using namespace std;
int main(){
	int arr[9]={4,2,9,3,4,5,1,3,0}; 
	int temp;
	//降序排列 
	/*
	for(int i=0;i<9-1;i++){
		for(int j=0;j<9-1-i;j++){
			if(arr[j]<arr[j+1]){
				temp=arr[j];
				arr[j]=arr[j+1];
				arr[j+1]=temp;					
			}
		}
	}*/
	//升序排列
	 	for(int i=0;i<9-1;i++){
		for(int j=0;j<9-1-i;j++){
			if(arr[j]>arr[j+1]){
				temp=arr[j];
				arr[j]=arr[j+1];
				arr[j+1]=temp;					
			}
		}
	}
	//遍历输出排序后的数组
	for(int i=0;i<9;i++){
			cout<< arr[i]<<" ";
		} 	
} //0 1 2 3 3 4 4 5 9

二维数组

代码实现:

cpp 复制代码
#include<iostream>
using namespace std;
int main(){
	//创建二维数组 
	int arr[3][3]=
	{
		{100,100,100},
		{90,50,100},
		{60,70,80} 
	};
	for(int i=0;i<3;i++){//行
		int sum=0;
		for(int j=0;j<3;j++){//列
			sum+=arr[i][j];
		}
		cout<<"第"<<i+1<<"人的总成绩是:"<<sum<<endl; 
	}	
} 
//第1人的总成绩是:300
//第2人的总成绩是:240
//第3人的总成绩是:210

总结

C++ 中的数组是存储相同类型元素的连续内存结构。一维数组常用于处理线性数据,配合冒泡排序等算法可实现简单排序------通过逐轮比较相邻元素并交换位置,最终使数据有序,但其效率较低(时间复杂度 O(n²)),仅适合小规模数据。二维数组则以"行×列"形式组织数据,适用于表格类场景(如学生成绩统计),可通过双重循环按行或列遍历处理。虽然原生数组语法简洁,但在实际开发中建议结合标准库容器(如 std::vector)和算法(如 std::sort)以提升安全性与效率。

相关推荐
依然鸣4 小时前
蓝桥杯多校模拟赛(第二场)题解
数据结构·c++·经验分享·学习·算法·图论
依然鸣5 小时前
蓝桥杯多校模拟赛 题解
数据结构·c++·经验分享·学习·算法·蓝桥杯
AKA__Zas5 小时前
芝士算法(位运算)
java·开发语言·算法·leetcode·学习方法
wabs6665 小时前
关于图论【Kruskal算法|卡码网53.寻宝的思考】
数据结构·算法·图论·卡码网
hans汉斯5 小时前
人工智能与机器人研究|面向无标签数据的三维场景语义理解方法研究
人工智能·神经网络·算法·信息可视化·cnn·机器人
奇树谦5 小时前
ZeroMQ 详解:轻量级高性能消息通信框架及 C++ 使用示例
开发语言·c++
不相心 -w-5 小时前
现代C++——智能指针
开发语言·c++
爱和冰阔落5 小时前
【Linux】从匿名管道到进程池:任务派发、fd 继承 Bug 与完整实现
android·linux·运维·c++
TunerT_TQ5 小时前
Valhalla 静态工程审阅 #021|华为MindSpore 源码证据驱动评测【大厂开源基础设施特辑】
c++·开源·github·mfc·#大模型开源·#华为开源·#深度学习
小程故事多_8015 小时前
从A2C、TRPO、PPO到GRPO,强化学习策略梯度算法完整演进与大模型落地实战解析
人工智能·算法