最近需要处理如下的一个问题:
读取一个list中的所有内容,将其输出(如输出到屏幕),其中首行和末行都只输出一次,中间的所有行都会输出两遍。例如,一个 list 中包含如下内容:
1
2
3
4
将其输出到屏幕,期望看到的效果如下:
1
2
2
3
3
4
我是用如下程序实现的:#include <iostream>
#include <list>
using namespace std;
int main()
{
list<int> intList;
list<int>::iterator intIterator;
for (int i = 0; i < 4; i++)
{
intList.push_back(i + 1);
}
for (intIterator = intList.begin(); intIterator != intList.end(); intIterator++)
{
if (intIterator == intList.begin())
{
cout << *intIterator << "\t";
} else {
cout << *intIterator << endl;
intIterator++;
if (intIterator != intList.end())
{
intIterator--;
cout << *intIterator << "\t";
} else {
break;
}
}
}
return 0;
}