目录
1. 一维数组插入元素
具体方法
概念:
插入元素是指在数组的某个位置添加一个新元素,并将原来的元素向后移动。
例如,将5插入到数组[1, 2, 4, 6]的第二个位置,结果变为[1, 5, 2, 4, 6]。
关键点:
确定插入位置:首先要明确新元素插入的位置(索引)。
元素后移:
从插入位置开始,将后面的元素依次向后移动一个位置,以空出插入位置。
插入新元素:
在空出的插入位置填入新元素。
练习:【入门】数组元素的插入
题目
描述:
在一个数组的第x个位置插入一个新的数y
输入描述:
有四行 第一行有一个整数n ( 5 <= n <= 10 ) 第二行有n个整数 第三行有一个整数x,为要插入的位置 第四行有一个整数y,为要插入的整数
输出描述:
更新后的数组
用例输入: 用例输出:
5 7 9 2 3 4 5 7 2 3 4 5 2 9
代码
#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个位置的元素删除掉
输入描述:
有三行
第一行有一个整数n( n <= 10 )
第二行有n个整数
第三行有一个整数x,为要删除的位置输出描述:
输出更新后的数组
用例输入: 用例输出:
5 1 2 4 5 1 2 3 4 5 3
代码
#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]。
关键点:
确定交换位置:
明确需要交换的两个元素的位置(索引)。
临时变量交换:
使用临时变量保存一个元素的值,然后将另一个元素的值赋给前者,再将临时变量的值赋给后者。
题目
描述:
在一个不重复的数组中,请将这个数组的最小数和数组第一个数交换,最大数和数组最后一个数交换。
输入描述:
有两行 第一行有一个整数n ( 5 <= n <= 100 ) 第二行有n个不重复的整数!
输出描述:
移动位置后的数组。
用例输入: 用例输出:
5 1 7 6 4 10 6 7 1 10 4
代码
#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 id_min=1;
int id_max=1;
for(int i=1;i<=n;i++){
if(arr[i]>arr[id_max])
id_max=i;
if(arr[i]<arr[id_min])
id_min=i;
}
int a=arr[id_min];
arr[id_min]=arr[1];
arr[1]=a;
int b=arr[id_max];
arr[id_max]=arr[n];
arr[n]=b;
for(int i=1;i<=n;i++){
cout<<arr[i]<<' ';
}
return 0;
}