返回向量数组c++; 我对C++很陌生,如果这是一个简单的问题,那么对不起。p>
我目前正在做一个数独解算器。每个单元格都有一个候选列表,它是一组可能的值。通过删除同一行、列和块上的值,候选值会减少,直到最终候选列表中只有一个值,即单元格的新解算值 我有这部分的工作,但另一种方法是通过“隐藏值”来解决单元格。通过将单元格的候选列表与单元格的行、列或块中的候选列表进行比较,可以找到隐藏值。如果当前单元格的候选列表中有一个值在其他任何单元格中都找不到,则该值必须是单元格的已求解值 我遇到的问题是返回单元格的候选列表,以便与其他人一起返回 我有一个单元类和一个单元组类。单元组基本上是行、列或块。每组包含9个细胞 在单元组类中我有以下方法:返回向量数组c++; 我对C++很陌生,如果这是一个简单的问题,那么对不起。p>,c++,vector,C++,Vector,我目前正在做一个数独解算器。每个单元格都有一个候选列表,它是一组可能的值。通过删除同一行、列和块上的值,候选值会减少,直到最终候选列表中只有一个值,即单元格的新解算值 我有这部分的工作,但另一种方法是通过“隐藏值”来解决单元格。通过将单元格的候选列表与单元格的行、列或块中的候选列表进行比较,可以找到隐藏值。如果当前单元格的候选列表中有一个值在其他任何单元格中都找不到,则该值必须是单元格的已求解值 我遇到的问题是返回单元格的候选列表,以便与其他人一起返回 我有一个单元类和一个单元组类。单元组基本上
int CellGroup::checkHiddenSinglesRow(Cell * cell) const
{
int candidateList[] = { cell->getCandidateList() }; //not returning correctly
int hiddenSingle = 0;
for (int i = 0; i < 9; ++i)
{
Cell *cells = m_cells[i];
bool found = cells->SearchCandidateList(value);
if (found == true) {
hiddenSingle = hiddenSingle + 1;
}
}
return hiddenSingle;
}
这是我用来返回当前单元格候选列表的方法,在单元格类中:
bool Cell::SearchCandidateList(int value) {
bool found;
auto it = find(m_candidateList.begin(), m_candidateList.end(), value);
if (it != m_candidateList.end()) {
found = true;
}
else {
found = false;
}
return found;
int Cell::getCandidateList(void) const
{
for (auto i = m_candidateList.begin(); i != m_candidateList.end(); ++i) {
int j;
j = *i;
return j;
}
}
getCandidateList返回1,它可能是候选列表中的第一个值。
将列表作为数组返回可能很有用,这样我可以比较其中的值,但是我不确定如何实现这一点
任何帮助都将不胜感激
谢谢Lucy您可以像这样返回向量:
std::vector<int> Cell::getCandidateList() const
{
return m_candidateList;
}
std::vector Cell::getCandidateList()常量
{
返回m_候选人名单;
}
为什么不返回实际矢量呢?