C++ 在C+中创建队列+;

C++ 在C+中创建队列+;,c++,queue,C++,Queue,我被指派创建一个带有x和y坐标的位置队列。我在一个文件中正确地读取了一个名为spaceStation的向量向量,该向量具有某些重要字符的相应列和行位置。我应该创建一个队列,对位置进行排队,我将其解释为包含某个字符的x和y坐标的队列 我相信选择2d向量将有助于排队,所以我对语法很好奇。 是不是像下面这样 queue<int,vector< vector<int> > > order; 队列>顺序; 如果我给它命名为order。std::queue不是一个容器

我被指派创建一个带有x和y坐标的位置队列。我在一个文件中正确地读取了一个名为spaceStation的向量向量,该向量具有某些重要字符的相应列和行位置。我应该创建一个队列,对位置进行排队,我将其解释为包含某个字符的x和y坐标的队列

我相信选择2d向量将有助于排队,所以我对语法很好奇。 是不是像下面这样

queue<int,vector< vector<int> > > order;
队列>顺序;

如果我给它命名为order。

std::queue
不是一个容器,而是一个容器适配器,其中第二个模板参数指示已调整的内部容器。对于您的程序,您可以只使用以下各项:

typedef std::pair<int, int> Coordinate;
typedef queue<Coordinate> CoordinateQueue;
typedef标准::对坐标;
typedef队列协调;

不,不会。为什么不试试呢?
std::vector
是一种数据类型,用于表示可变长度列表,而不是坐标对,在几何中称为“vector”。要存储坐标对,请尝试
std::pair
std::array
。如果将来需要,使用typedef可以更容易地替换为进行算术运算的类型。我想您需要
queue
如何使用位置?这真的取决于你将如何处理坐标。例如,要排队的第一个位置是一个起始位置,我一直跟踪从初始读入到称为spaceStation的2d向量的坐标。从那里开始,我需要查看向量中的北、东、西、南来检查特定字符。如果角色是一个可能的路径,我需要对该位置进行排队。