首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我有一个大小为n*10的2d网格(行由用户输入定义)。如何将多个字符串存储在2d向量中的同一位置?

在二维网格中存储多个字符串,可以通过创建一个二维向量(vector<vector<string>>),其中每个元素可以是一个字符串向量(vector<string>)。这样,你可以在同一个网格位置存储多个字符串。

以下是一个简单的示例代码,展示了如何实现这一功能:

代码语言:txt
复制
#include <iostream>
#include <vector>
#include <string>

int main() {
    int n;
    std::cout << "请输入行数: ";
    std::cin >> n;

    // 创建一个二维向量,每个元素是一个字符串向量
    std::vector<std::vector<std::vector<std::string>>> grid(n, std::vector<std::vector<std::string>>(10));

    // 假设我们要在第 i 行 j 列存储字符串
    int i = 2; // 示例行
    int j = 3; // 示例列
    std::vector<std::string> strings = {"字符串1", "字符串2", "字符串3"};

    // 将字符串存储在指定位置
    grid[i][j] = strings;

    // 打印二维网格
    for (int row = 0; row < n; ++row) {
        for (int col = 0; col < 10; ++col) {
            if (!grid[row][col].empty()) {
                std::cout << "行 " << row << ", 列 " << col << ": ";
                for (const auto& str : grid[row][col]) {
                    std::cout << str << " ";
                }
                std::cout << std::endl;
            }
        }
    }

    return 0;
}

解释

  1. 二维向量创建
  2. 二维向量创建
  3. 这里创建了一个三维向量 grid,其中第一维表示行,第二维表示列,第三维表示存储在该位置的字符串向量。
  4. 存储字符串
  5. 存储字符串
  6. 将字符串向量 strings 存储在指定的行 i 和列 j 位置。
  7. 打印二维网格
  8. 打印二维网格
  9. 遍历二维网格并打印出每个位置存储的字符串。

应用场景

这种数据结构适用于需要在一个网格位置存储多个值的场景,例如:

  • 游戏地图:每个格子可以包含多个属性(如地形、怪物、物品等)。
  • 文本编辑器:每个单元格可以包含多个字符或样式信息。
  • 数据存储:需要在一个位置存储多个相关数据的场景。

参考链接

通过这种方式,你可以灵活地在二维网格中存储和管理多个字符串。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券