Example #1
0
int main()
{
	LISTINT test;
	for (int i = 0; i < 5; i++)
	{
		test.push_back(i+1);
	}

	//show
	LISTINT::iterator it = test.begin();
	for (; it != test.end(); it++)
	{
		cout << *it << "\t";//12345
	}
	cout << endl;
	//reversr_show
	LISTINT::reverse_iterator rit = test.rbegin();  // 专门还有这个迭代器[逆向迭代器]
	for (; rit != test.rend(); rit++)
	{
		cout << *rit << "\t";//54321
	}
	cout << endl;
	getchar();
	return 0;
}
Example #2
0
int main(void)
{
    LISTINT listOne;//创建一个名为listOne的list对象

    LISTINT::iterator i;//声明i为迭代器
    listOne.push_front (2);//从list容器前面添加数据
    listOne.push_front (1);

    listOne.push_back (3);//从list容器后面添加数据
    listOne.push_back (4);

    cout<<"listOne.begin()--- listOne.end():"<<endl;//从后面显示数据
    for (i = listOne.begin(); i != listOne.end(); ++i)
        cout << *i << ""<<endl;

    //从后向后显示listOne中的数据
    LISTINT::reverse_iterator ir;
   cout<<"listOne.rbegin()---listOne.rend():"<<endl;
    for (ir =listOne.rbegin(); ir!=listOne.rend();ir++) {
        cout << *ir << "";
    }
    cout << endl;
    //使用STL的accumulate(累加)算法
    int result = accumulate(listOne.begin(), listOne.end(),0);
    cout<<"Sum="<<result<<endl;
    cout<<"------------------"<<endl;
    //--------------------------
    //用list容器处理字符型数据
    //--------------------------
    //用LISTCHAR创建一个名为listOne的list对象
    LISTCHAR listTwo;
    //声明i为迭代器
    LISTCHAR::iterator j;
    //从前面向listTwo容器中添加数据
    listTwo.push_front ('A');
    listTwo.push_front ('B');
    //从后面向listTwo容器中添加数据
    listTwo.push_back ('x');
    listTwo.push_back ('y');
    //从前向后显示listTwo中的数据
   cout<<"listTwo.begin()---listTwo.end():"<<endl;
    for (j = listTwo.begin(); j != listTwo.end(); ++j)
        cout << char(*j) <<" ";
    cout << endl;
    //使用STL的max_element算法求listTwo中的最大元素并显示
    j=max_element(listTwo.begin(),listTwo.end());
    cout << "The maximum element in listTwo is:"<<char(*j)<<endl;

    return 0;
}