首页 > 编程语言 >【C++笔记】一维数组元素处理

【C++笔记】一维数组元素处理

时间:2024-11-17 09:14:39浏览次数:3  
标签:arr 位置 一维 int 元素 笔记 插入 C++ 数组

目录

1. 插入元素

方法

代码

2. 删除元素

方法

代码

3. 交换元素

方法

代码


1. 插入元素

方法

概念:
插入元素是指在数组的某个位置添加一个新元素,并将原来的元素向后移动。
例如,将5插入到数组[1, 2, 4, 6]的第二个位置,结果变为[1, 5, 2, 4, 6]。
关键点:
确定插入位置:首先要明确新元素插入的位置(索引)。
元素后移:
从插入位置开始,将后面的元素依次向后移动一个位置,以空出插入位置。
插入新元素:
在空出的插入位置填入新元素。

代码

在数组中下标为x的位置插入元素y。

#include<bits/stdc++.h>
using namespace std;
int arr[1000000];
int main(){
	int n;
    cin>>n;
	for(int i=1;i<=n;i++){
		cin>>arr[i];
	}
	int x,y;
	cin>>x>>y;
	for(int i=n;i>=x;i--){
		arr[i+1]=arr[i];
	}
	arr[x]=y;
	for(int i=1;i<=n+1;i++){
		cout<<arr[i]<<' ';
	}
	return 0; 
} 

2. 删除元素

方法

概念:
删除元素是指从数组中移除某个位置的元素,并将后面的元素依次向前移动,以填补空位。
例如,删除数组[1, 5, 2, 4, 6]中的元素5,结果变为[1, 2, 4, 6]。
关键点:
确定删除位置:
明确需要删除的元素位置(索引)。
元素前移:
从删除位置的下一个元素开始,将后面的元素依次向前移动一个位置,覆盖掉删除的元素。
调整数组长度:
删除元素后,数组的长度减少,应该调整处理后的数组长度。

代码

删除数组中下标为x的元素。

#include<bits/stdc++.h>
using namespace std;
int arr[1000000];
int main(){
	int n;
    cin>>n;
	for(int i=1;i<=n;i++){
		cin>>arr[i];
	}
	int x;
	cin>>x;
	for(int i=x;i<=n-1;i++){
		arr[i]=arr[i+1];
	}
	for(int i=1;i<=n-1;i++){
		cout<<arr[i]<<' ';
	}
	return 0; 
} 

3. 交换元素

方法

概念:
交换元素是指将数组中的两个元素互换位置。
例如,交换数组[1, 2, 3, 4]中的元素2和4,结果变为[1, 4, 3, 2]。
关键点:
确定交换位置:
明确需要交换的两个元素的位置(索引)。
临时变量交换:
使用临时变量保存一个元素的值,然后将另一个元素的值赋给前者,再将临时变量的值赋给后者。

代码

交换数组中最大值与最小值的位置。

#include<bits/stdc++.h>
using namespace std;
int arr[1000000];
int main(){
	int n;
    cin>>n;
	for(int i=1;i<=n;i++){
		cin>>arr[i];
	}
	int x;
	cin>>x;
	for(int i=x;i<=n-1;i++){
		arr[i]=arr[i+1];
	}
	for(int i=1;i<=n-1;i++){
		cout<<arr[i]<<' ';
	}
	return 0; 
} 

标签:arr,位置,一维,int,元素,笔记,插入,C++,数组
From: https://blog.csdn.net/guileless/article/details/143827465

相关文章

  • 从零开始的 LLM: nanoGPT 学习笔记(1/2)
    项目地址:nanoGPT作者是OpenAI的元老人物AndrejKarpathy,以非常通俗易懂的方式将LLM的pre-train娓娓道来,YouTube上也有对应的视频:Let'sbuildGPT:fromscratch,incode,spelledout.其中高赞回复是这样的,总结非常精辟:justforfun,droppingonYouTubethebesti......
  • 线性回归学习笔记
    线性回归概述线性回归是一种基本的监督学习算法,用于解决回归问题。它通过拟合数据点,找出特征与目标变量之间的线性关系。其目标是预测连续数值输出。模型公式线性回归模型的数学表达式为:\[y=\mathbf{w}^\top\mathbf{x}+b\]或展开为:\[y=w_1x_1+w_2x_2+\cdot......
  • ADS项目笔记 1. 低噪声放大器LNA天线一体化设计
            在传统射频结构的设计中,天线模块和有源电路部分相互分离,两者之间通过50Ω传输线级联,这种设计需要在有源电路和天线之间建立无源网络,包括天线模块的输入匹配网络以及有源电路的匹配网络。这些无源网络不仅增加了系统的插入损耗,还会占用额外的电路面积,从而影......
  • C++继承权限
    目录1.相关概念 2.继承权限private:protectedpublic:3.继承中的构造函数与析构函数4.继承同名成员的处理方式5.多继承1.相关概念  定义:允许一个类继承另外一个类的属性和方法。 好处:可以减少一些重复性的代码 语法:classA :继承权限 B     ......
  • 工作学习笔记(十)Java 中 “<” 运算符不能应用于BigDecimal和double
    一、问题描述在Java编程过程中,尝试使用“<”运算符对java.math.BigDecimal和double类型的数据进行比较时,出现了编译错误:“Theoperator<isundefinedfortheargumenttype(s)java.math.BigDecimal,double”。二、问题分析Java中的基本数据类型(如int、double等)......
  • 数据结构与算法刷题(参考代码随想录结构,C、C++实现)
    目录数组数组理论基础二分查找移除元素有序数组的平方长度最小的子数组螺旋矩阵Ⅱ总结篇链表1.链表理论基础2.移除链表元素3.设计链表4.反转链表5.两两交换链表中的节点6.删除链表的倒数第N个节点7.链表相交8.环形链表Ⅱ9.总结篇哈希表1.哈希表理论基础2.有效的字母异位词3.两个数......
  • 对话框切换器FXSwitcher(Abaqus GUI二次开发笔记)
    实现效果         进行abaqusGUI二次开发时,如果想要实现点选不同单选按钮出现不同的GUI布局,可以使用切换器FXSwitcher。本文构造的插件能选择不同的模型输入源,对话框中间是一对单选按钮,下方是文件选择器或模型列表。当选中单选按钮"model"时,下方显示模型列表......
  • 【C++复习】栈-下篇
    大家好,这里是不会写开场白的Yinph。今天我们先来复习一下中缀表达式、前缀表达式和后缀表达式,以及如何用栈来实现它们之间的运算。一、中缀表达式‌‌中缀表达式‌是一种算术或逻辑公式的表示方法,其中操作符位于操作数的中间。这种表示方法符合人们的日常书写习惯,因此被广泛使......
  • 【C++】static(静态)
    类外静态变量或函数意味着,当需要将这些变量或函数与实际定义的符号链接时,链接器不会在这个翻译单元的作用域之外寻找那个符号定义,即只会在这个翻译单元内部链接(文件内可用)如果这句话并不理解,可以看一下【C++】HowtheC++CompilerWorks和【C++】HowtheC++LinkerWork......
  • 根据二叉树的前序和中序构建树,并按层次输出(C++)vector存树
    L2-006树的遍历#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;#defineendl'\n'intpo[35];intino[35];vector<int>ans[50];intdfs(intl1,intr1,intl2,intr2){ for(inti=l2;i<=r2;i++){ if......