当前位置: 首页 > article >正文

【C++语言】卡码网语言基础课系列----6. 数组的倒序与隔位输出

文章目录

  • 背景知识
    • vector容器
      • 定义
      • 容器常用方法
  • 练习题目
    • 数组的倒序与隔位输出
    • 具体代码实现
  • 小白寄语
    • 诗词共勉

背景知识

vector容器

如果不清楚元素确切的个数(即一组数据的大小是变量),请使用vector

定义

vector (也被称为容器),做为C++ 标准库中的一个容器类,表示对象的集合,它可以动态地存储一组元素,所以你可以根据需要轻松地调整 vector 的大小。

#include <vector> // 使用容器前,需包含vector头文件
using namespace std;

	vector<int> nums; // 创建一个空vector, 元素是int类型的
	// 创建容器,并进行初始化
	vector<int> nums = {1, 2, 3}; // 创建一个整型元素的容器,并显示初始化
	vector<int> nums(5); // 创建一个包含5个整型元素大小的容器,其初始化值被系统默认赋0
	vector<int> nums(5, -1); // 创建一个包含5个重复元素的容器,每个元素的值都为-1

容器常用方法

1、push_back():动态添加元素,负责将一个值push(推送)到容器(vector)中的back(尾端);

vector<int> nums = {1, 2, 3};
nums.push_back(6); // 将元素6,添加到容器尾端
// 当前容器中的元素为:1 2 3 6

2、size():获取容器当前的元素数量

vector<int> nums = {1, 2, 3}; 
int size = nums.size(); // 获取容器当前元素数量,即大小为3;

3、pop_back():删除尾端元素

vector<int> nums = {1, 2, 3}; 
nums.pop_back(); // 删除vector末尾的元素
// 当前容器中的元素为:1 2

4、clear():清空vector中所有元素

vector<int> nums = {1, 2, 3}; 
nums.clear(); // 清空vector中所有元素

5、empty():容器判空

vector<int> nums = {1, 2, 3}; 
if (nums.empty()) {
	cout << "容器为空";
} 

练习题目

数组的倒序与隔位输出

题目描述

给定一个整数数组,编写一个程序实现以下功能:

  1. 将输入的整数数组倒序输出,每个数之间用空格分隔。
  2. 从正序数组中,每隔一个单位(即索引为奇数的元素),输出其值,同样用空格分隔。

输入描述

第一行包含一个整数 n,表示数组的长度。
接下来一行包含 n 个整数,表示数组的元素。

输出描述

首先输出倒序排列的数组元素,然后输出正序数组中每隔一个单位的元素。

输入示例

5
2 3 4 5 6

输出示例

6 5 4 3 2
2 4 6

提示

数据范围:
1 <= n <= 1000.

具体代码实现

#include <iostream>
#include <vector> // 引用vector容器库
using namespace std;

int main()
{
    vector<int> nums; // 因为不知道初始所需数组大小,故定义一个int型容器nums
    int n;
    cin >> n;
    int number;
    // 将一组元素,循环加入容器中
    while (n--) {
        cin >> number;
        // 使用push_back方法,动态添加元素
        nums.push_back(number); // 将number加入nums容器尾端
    }
    // 开始倒序输出数组元素,vector.size(),表示容器大小
    for (int i = nums.size() - 1; i >= 0; i--) {
        cout << nums[i];
        if (i > 0) {
            cout << " ";
        }
    }
    cout << endl;
    
    // 开始隔位输出元素
    for (int i = 0; i < nums.size(); i += 2) {
        cout << nums[i];
        if (i < nums.size() -  1) {
            cout << " ";
        }
    }
    
    
    
    return 0;
}

小白寄语

扎根,做好手头的事,精进。

诗词共勉

人生若只如初见,何事秋风悲画扇。
等闲变却故人心,却道故人心易变。
-----------纳兰性德


http://www.kler.cn/a/527890.html

相关文章:

  • C++ list
  • Leetcode:541
  • 反射、枚举以及lambda表达式
  • 使用 Docker + Nginx + Certbot 实现自动化管理 SSL 证书
  • 前端学习-事件委托(三十)
  • 玩转大语言模型——使用langchain和Ollama本地部署大语言模型
  • JMeter中常见的四种参数化实现方式是什么?_file test_params
  • 将markdown文件转为word文件
  • 【ArcMap零基础训练营】03 常用数据网站的数据下载及处理
  • 【懒删除堆】力扣3092. 最高频率的 ID
  • doris:高并发导入优化(Group Commit)
  • Oracle Primavera P6自动进行进度计算
  • 【算法设计与分析】实验3:动态规划—最长公共子序列
  • 电路研究9.2.6——合宙Air780EP中HTTP——HTTP GET 相关命令使用方法研究
  • 如何在C语言项目中优雅地使用结构体
  • VirtualBox:跨磁盘导入已存的vdi磁盘文件顺便测试冷迁移
  • MySQL 导入数据
  • DeepSeek 遭 DDoS 攻击背后:DDoS 攻击的 “千层套路” 与安全防御 “金钟罩”
  • Win11 Windows 禁用右键折叠菜单
  • 大数据挖掘--两个角度理解相似度计算理论
  • 文献阅读 250131-Global Carbon Budget 2023(1)
  • 如何成为一名 Python 全栈工程师攻略
  • 加一(66)
  • CSS 中调整元素大小的全面指南
  • 人工智能|基本概念|人工智能相关重要概念---AI定义以及模型相关知识
  • 【Nacos】配置中心