c语言用队列stl加头文件,C++ STL List队列用法(实例)
#include #include #include #include
using namespace std;
//創建一個list容器的實例LISTINT
typedef listLISTINT;
//創建一個list容器的實例LISTCHAR
typedef listLISTCHAR;
void main(void)
{
//--------------------------
//用list容器處理整型數據
//--------------------------
//用LISTINT創建一個名為listOne的list對象
LISTINT listOne;
//聲明i為迭代器
LISTINT::iterator i;
//從前面向listOne容器中添加數據
listOne.push_front (2);
listOne.push_front (1);
//從后面向listOne容器中添加數據
listOne.push_back (3);
listOne.push_back (4);
//從前向后顯示listOne中的數據
cout<
for (i = listOne.begin(); i != listOne.end(); ++i)
cout << *i << " ";
cout << endl;
//從后向后顯示listOne中的數據
LISTINT::reverse_iterator ir;
cout<
for (ir =listOne.rbegin(); ir!=listOne.rend();ir++) {
cout << *ir << " ";
}
cout << endl;
//使用STL的accumulate(累加)算法
int result = accumulate(listOne.begin(), listOne.end(),0);
cout<
cout<
//--------------------------
//用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<
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: "<
}
#include #include
using namespace std;
typedef listINTLIST;
//從前向后顯示list隊列的全部元素
void put_list(INTLIST list, char *name)
{
INTLIST::iterator plist;
cout << "The contents of " << name << " : ";
for(plist = list.begin(); plist != list.end(); plist++)
cout << *plist << " ";
cout<
}
//測試list容器的功能
void main(void)
{
//list1對象初始為空
INTLIST list1;
//list2對象最初有10個值為6的元素
INTLIST list2(10,6);
//list3對象最初有3個值為6的元素
INTLIST list3(list2.begin(),--list2.end());
//聲明一個名為i的雙向迭代器
INTLIST::iterator i;
//從前向后顯示各list對象的元素
put_list(list1,"list1");
put_list(list2,"list2");
put_list(list3,"list3");
//從list1序列后面添加兩個元素
list1.push_back(2);
list1.push_back(4);
cout<
put_list(list1,"list1");
//從list1序列前面添加兩個元素
list1.push_front(5);
list1.push_front(7);
cout<
put_list(list1,"list1");
//在list1序列中間插入數據
list1.insert(++list1.begin(),3,9);
cout<
put_list(list1,"list1");
//測試引用類函數
cout<
cout<
//從list1序列的前后各移去一個元素
list1.pop_front();
list1.pop_back();
cout<
put_list(list1,"list1");
//清除list1中的第2個元素
list1.erase(++list1.begin());
cout<
put_list(list1,"list1");
//對list2賦值并顯示
list2.assign(8,1);
cout<
put_list(list2,"list2");
//顯示序列的狀態信息
cout<
cout<
cout<
//list序列容器的運算
put_list(list1,"list1");
put_list(list3,"list3");
cout
cout<
//對list1容器排序
list1.sort();
put_list(list1,"list1");
//結合處理
list1.splice(++list1.begin(), list3);
put_list(list1,"list1");
put_list(list3,"list3");
}
總結
以上是生活随笔為你收集整理的c语言用队列stl加头文件,C++ STL List队列用法(实例)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 模拟 http connecttimeo
- 下一篇: c++怎么实现数字数组的删除数字_C/C