转换为基本for循环

时间:2018-05-01 00:38:02

标签: c++ queue priority-queue huffman-code

有人可以帮我理解这个for循环并将其转换为我习惯的基本形式吗?

我们得到了

for(vector<CFreq>::iterator it = frequencies.begin(); it != frequencies.end(); i++) 
{
HuffmanTree *node = new HuffmanTree(it->c, it->freq);
queue.push(node);
}

由于

2 个答案:

答案 0 :(得分:2)

您可以将循环编写为基于范围的循环,如下所示:

for (const CFreq& f : frequencies) {
  queue.push(new HuffmanTree(f.c, f.freq));
}

答案 1 :(得分:0)

如果你的意思是通过索引访问向量的循环,你可以试试这个:

for(size_t i = 0; i < frequencies.size(); i++) {
   queue.push(new HuffmanTree(frequencies[i].c, frequencies[i].freq));
}