list.cppRUN

#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;
}