日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

c++中的list用法

發布時間:2025/4/16 c/c++ 11 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++中的list用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include <iostream> #include <list> #include <numeric> #include <algorithm> using namespace std; //創建一個list容器的實例LISTINT typedef list<int> LISTINT; //創建一個list容器的實例LISTCHAR typedef list<int> LISTCHAR; 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<<"listOne.begin()--- listOne.end():"<<endl; for (i = listOne.begin(); i != listOne.end(); ++i) cout << *i << " "; cout << 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; }



#include <iostream> #include <list> using namespace std; typedef list<int> INTLIST; //從前向后顯示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<<endl; } //測試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<<"list1.push_back(2) and list1.push_back(4):"<<endl; put_list(list1,"list1"); //從list1序列前面添加兩個元素 list1.push_front(5); list1.push_front(7); cout<<"list1.push_front(5) and list1.push_front(7):"<<endl; put_list(list1,"list1"); //在list1序列中間插入數據 list1.insert(++list1.begin(),3,9); cout<<"list1.insert(list1.begin()+1,3,9):"<<endl; put_list(list1,"list1"); //測試引用類函數 cout<<"list1.front()="<<list1.front()<<endl; cout<<"list1.back()="<<list1.back()<<endl; //從list1序列的前后各移去一個元素 list1.pop_front(); list1.pop_back(); cout<<"list1.pop_front() and list1.pop_back():"<<endl; put_list(list1,"list1"); //清除list1中的第2個元素 list1.erase(++list1.begin()); cout<<"list1.erase(++list1.begin()):"<<endl; put_list(list1,"list1"); //對list2賦值并顯示 list2.assign(8,1); cout<<"list2.assign(8,1):"<<endl; put_list(list2,"list2"); //顯示序列的狀態信息 cout<<"list1.max_size(): "<<list1.max_size()<<endl; cout<<"list1.size(): "<<list1.size()<<endl; cout<<"list1.empty(): "<<list1.empty()<<endl; //list序列容器的運算 put_list(list1,"list1"); put_list(list3,"list3"); cout<<"list1>list3: "<<(list1>list3)<<endl; cout<<"list1"<<(list1<list3)<<endl; //對list1容器排序 list1.sort(); put_list(list1,"list1"); //結合處理 list1.splice(++list1.begin(), list3); put_list(list1,"list1"); put_list(list3,"list3"); }

總結

以上是生活随笔為你收集整理的c++中的list用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。