题目描述
给定一个整数数组,编写一个程序实现以下功能:
- 将输入的整数数组倒序输出,每个数之间用空格分隔。
- 从正序数组中,每隔一个单位(即索引为奇数的元素),输出其值,同样用空格分隔。
输入描述
第一行包含一个整数 n,表示数组的长度。
接下来一行包含 n 个整数,表示数组的元素。
输出描述
首先输出倒序排列的数组元素,然后输出正序数组中每隔一个单位的元素。
输入示例
5
2 3 4 5 6
输出示例
6 5 4 3 2
2 4 6
提示信息
数据范围:
1 <= n <= 1000.
我们可以掌握以下知识点:
- 数组的概念和特点
- 数组的声明和定义、索引、数组元素的访问、以及数组的循环遍历
vector的概念和特点,以及和数组的区别vector的声明、访问、以及操作方法
1.数组的概念和特点
1.1数组的概念
c++数组是一种用于存储相同数据类型的元素的数据结构
1.2数组的特点
1.固定大小:
数组声明之后,大小一般是固定的,不能在运行时动态更改;
2.相同数据类型:
数组中的所有元素必须具有相同的数据类型;
3.连续存储(重点):
数组的元素在内存中是连续存储的;
4.下标访问(重点):
数组中的元素通过下标进行访问;
2.数组的声明和定义、索引、数组元素的访问、以及数组的循环遍历
2.1数组的使用
C++中声明数组的方式为dataType arrayName[arraySize]。
dataType表示数组元素的类型,比如int,double char等。
arrayName表示数组指定的名称,类似于变量名称。
arraySize表示数组的大小,可以容纳多少个元素。
2.2数组的声明
//声明一个包含5个整数的数组
int arr[5];
2.3数组的索引
1.使用大括号初始化一个长度为5的整型数组
//使用大括号初始化一个长度为5的整型数组
int arr[5] = {1,2,3,4,5};
2.定义一个长度为3的整型数组,并逐个赋值
//定义一个长度为3的整型数组,并逐个赋值
int arr1[3];
arr1[0] = 10;
arr1[1] = 20;
arr1[2] = 30;
2.4数组元素的访问
1.可以使用下标操作符 []访问。
注意,下标从0开始,直到数组的前一位。
int arr[5] = {1,2,3,4,5};
int value = arr[2];
2.还可以使用下标操作符[]修改数组中元素的值。
int arr[5] = {1,2,3,4,5};
arr[0] = 10;
2.5数组的循环遍历
int arr[5] = {1,2,3,4,5};
for(int i = 0;i <5;i++){
cout << arr[i] << " ";
}
2.6数组的注意事项
c++数组没有提供自动的长度信息,因此在处理的时候要小心,避免访问越界的元素。
//数组长度为5,索引为0-4,如果访问arr[5],会越界访问数组范围,导致程序运行出错
int a = arr[5];
数组实现代码
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int arr[n];
for(int i = 0;i < n;i++){
cin >> arr[i];
}
for(int j = n-1;j >= 0;j--){
cout << arr[j] <<" ";
}
cout << '\n';
for(int k = 0;k < n;k+=2){
cout << arr[k] <<" ";
}
return 0;
}
3.vector的概念和特点,以及和数组的区别
如果不清楚元素的确切个数,使用
vector
3.1vector的概念
vector被称为容器,作为c++标准库中的一个容器类,表示对象的集合,可以动态地存储一组元素,所以可以根据需要轻松的调整vector的大小。
4.vector的声明、访问、以及操作方法
4.1vector的声明
想要使用vector,必须包含头文件vector
#include <vector>
using std::vector;
4.2vector的创建
1.创建方式为vector<类型> 名称,无需指明长度
//创建一个空vector,数据类型为int;
vector<int> myVecror;
2.还有一些其他的创建方式
//创建一个包含整型元素的容器并初始化元素
vector<int> myVecror = {1,2,3,4,5};
//创建一个包含10个元素的容器,元素为int类型(值默认初始化为0)
vector<int> myVecror(10);
//创建一个包含10个元素的容器,每个元素的值都是-1
vector<int> myVecror(10,-1);
4.3vector调整大小
push_back()负责将一个值push(推送)到vector的back(尾端)
//往容器的最后添加一个数字6
vector<int> myVector = {1,2,3,4,5};
myVector.push_back(6);
4.4vector的访问
可以使用下标操作符[]访问vector的元素
int valut = myVector[0];
4.5vector的元素大小
可以使用下标操作符size()访问vector容器当前的元素数量
int size = myVector.size();
4.6vector的遍历
可以使用for循环vector容器
for(int i = 0;i < myVector.size(); i++){
cout << myVector[i] << " ";
}
4.7vector的其他方法
//删除vector末尾的元素
myVector.pop_back();
//清空vector中的所有元素
myVector.clear();
//判断vector是否为空,如果为空,返回true。否则,返回false。
myVector.empty();
vector实现代码
#include <bits/stdc++.h>
using namespace std;
int main(){
vector<int> nums;
int n;
cin>>n;
for(int i = 0; i < n; i++){
int a;
cin>>a;
nums.push_back(a);
}
for(int j = nums.size()-1;j >= 0; j--){
cout << nums[j] << " ";
}
cout << "\n";
for(int k = 0; k < n; k+=2){
cout << nums[k] << " ";
}
return 0;
}