stl(standard template library)是乙個具有工業強度的高效c++程式庫。它被容納於c++標準程式庫(c++ standard library)中,是ansi/iso c++標準中最新的也是極具革命性的一部分。該庫包含了諸多在電腦科學領域裡所常用的基本資料結構和基本演算法。為廣大c++程式設計師們提供了乙個可擴充套件的應用框架,高度體現了軟體的可復用性。
常見的容器主要有 vector,string,deque,pari,set,multiset,map,multimap 8種。
本文介紹:
//容器
vectorv; //建立乙個容器 動態陣列 指定這個容器中放的資料型別 都是int
v.push_back(10); //通過vector通過成員方法 向容器的尾部新增元素
v.push_back(4);
v.push_back(5);
v.push_back(4);
vectorv; //預設構造 空的vector容器
vectorv2(10,5); //帶引數建構函式
vectorv3(v2.begin(), v2.end());
vectorv4(v3); //拷貝構造
int arr = ;
vectorv5(arr,arr+ sizeof(arr)/sizeof(int));
//vector賦值操作
vectorv;
v.assign(5,1); //賦值方法
vectorv1;
v1.assign(v.begin(),v.end()); //將容器v中元素賦值給v1
vectorv2;
v2 = v1;
cout << "大小:" << v.size() << endl;
cout << "容量" << v.capacity() << endl;
//插入刪除
int arr = ;
vectorv(arr, arr + sizeof(arr) / sizeof(int));
v.insert(v.begin(),100); //頭部插入元素
v.push_back(100); //尾插法
int val = v.back();
cout << val << "被刪除" << endl;
v.pop_back();
//指定位置刪除
v.erase(v.begin());
//區間刪除
v.erase(v.begin(),v.end());
v.clear();
//迭代器
vector::iterator pstart = v.begin(); //拿到了指向第乙個元素的迭代器
vector::iterator pend = v.end(); //返回指向最後乙個元素下乙個位置
while (pstart != pend)
cout << endl;
//count統計容器中某個元素的個數
int n = count(v.begin(),v.end(),4);
cout << "n:" << n << endl;
vectorv; //建立乙個容器 指定裡面放teacher型別的資料
teacher t1(1, 2), t2(3, 4), t3(5, 6);
v.push_back(t1);
v.push_back(t2);
v.push_back(t3);
vector::iterator pstart = v.begin(); //拿到指向第一元素的迭代器
vector::iterator pend = v.end();//指向最後乙個元素下乙個位置
while (pstart != pend)
標準模板庫(STL)使用說明 之 3 deque
stl standard template library 是乙個具有工業強度的高效c 程式庫。它被容納於c 標準程式庫 c standard library 中,是ansi iso c 標準中最新的也是極具革命性的一部分。該庫包含了諸多在電腦科學領域裡所常用的基本資料結構和基本演算法。為廣大c 程...
標準模板庫(STL)使用說明 之 4 pair
stl standard template library 是乙個具有工業強度的高效c 程式庫。它被容納於c 標準程式庫 c standard library 中,是ansi iso c 標準中最新的也是極具革命性的一部分。該庫包含了諸多在電腦科學領域裡所常用的基本資料結構和基本演算法。為廣大c 程...
標準模板庫STL之vector
stl vector 用於實現陣列的功能,相當於在陣列的基礎上封裝了一些常用的功能 push back在尾部新增乙個元素 pop back在尾部刪除乙個元素 clear清空所有的元素 at按索引訪問某個位置的元素 front返回頭元素 back返回尾元素 size返回元素的個數 capacity返回...