list.cpp,RUN
#include <iostream>
#include <list>
void ShowList(const std::list<int> & arr)
{
std::list<int>::const_iterator citr;//arr是const,所以,citr必须只读的,非只读的是 std::list<int>::iterator
for (citr = arr.begin(); citr != arr.end(); citr++)
{
int value = *citr; //当前的值
std::cout << value << std::endl;
}
}
int main()
{
std::list<int> arr; //创建一个链表
int temp[] = { 1, 3, 5, 7, 9 };
int len = sizeof(temp) / sizeof(int);
//添加数据
for (int i = 0; i < len; i++)
{
arr.push_back(temp[i]); //在链表尾部添加数据
}
std::cout << arr.back() << std::endl;//尾部的值
ShowList(arr);
//查找某个数值的元素,并删除
std::list<int>::iterator itr;//可写
for (itr = arr.begin(); itr != arr.end(); )
{
int value = *itr; //当前的值
if (value == 3)
{
itr = arr.erase(itr); //删除当前位置的值
}
else
itr++;
}
arr.push_back(20); //尾部增加数据
arr.push_front(0); //头部部增加数据
ShowList(arr);
return 0;
}