STL容器使用總結

2021-06-20 13:22:27 字數 2383 閱讀 3978

#include #include #include #include #include #include //:優先佇列,大的元素自動排在隊頭

#include //key唯一,重複會覆蓋

//:多重對映,允許有重複的key

#include //集合:相當於沒有value的對映using namespace std;void putelem (const int& elem)

bool cmp(const int &a,const int &b)

class test

string m_name ;

int m_age ;

};//向量使用(記憶體連續,隨機訪問快,插入刪除慢)

void vector_usage(void)

//從尾部壓入

cout << vi.front() << endl; //檢視首部元素

cout << vi.back() << endl; //檢視尾部元素

vi.pop_back(); //刪除尾部元素

cout << vi.back() << endl; //檢視尾部元素

vi.insert(it = vi.begin(),1); //在目標元素(頭元素)前插入元素

vi.erase (it = vi.begin()); //刪除目標元素

cout << vi.size() << endl; //檢視元素個數

cout << vi.capacity() << endl; //檢視可容納元素的總個數

cout <<"_________________" << endl ;

sort (vi.begin() , vi.end()); //公升序排序

sort (vi.begin() , vi.end(),cmp); //降序排序,自己寫cmp函式

it = find (vi.begin(),vi.end(),3); //查詢某元素,成功返回該迭代器,失敗返回上限迭代器

for (it = vi.begin(); it != vi.end(); it++) //遍歷向量,*it表示對應的元素

cout <<"_________________" << endl ;

vi.clear(); //清空向量

cout << vi.size() << endl;

cout << vi.empty() << endl; //判斷是否為空

}//列表使用(記憶體分散,隨機訪問慢,插入刪除快)

void list_usage(void)

//棧使用 (先進後出)

void stack_usage(void)

cout << "棧的大小為:" << stk.size() << endl;

cout << "---------------" << endl;

while(!stk.empty())

}//佇列使用(先進先出)

void queue_usage(void)

cout << "佇列的大小為:" << que.size() << endl;

cout << "---------------" << endl;

while(!que.empty())

}//對映使用(平衡二叉樹,隨機訪問和插入刪除速度介於向量和列表之間)

void map_usage(void)

void set_usage(void)

for_each (s.begin(), s.end(), putelem); //遍歷集合,等價於上面的for迴圈遍歷

}int main(void)

//泛型演算法

//1.複製:void copy (src_iterator_begin, src_iterator_end, dst_iterator_dst);

//2.列印:void print (iterator_begin, iterator_end);

//3.遍歷:void for_each (iterator_begin, iterator_end, functionname);

//4.排序:void sort (iterator_begin, iterator_end, less cmp);

STL容器使用語法總結

stl容器主要有序列式容器和關聯式容器以及一些衍生而來容器配接器 序列式容器 vector deque list 關聯式容器 set map 常見配接器 stack queue 下面分別對其進行介紹 1 陣列的公升級版,可以動態管理記憶體。當容量不足時,會開闢乙個新的空間,將資料拷貝過去,再釋放原空...

STL容器使用DEMO vector

code author lin yiqian created 2009 08 24 describe stl vector 使用demo include include using namespace std typedef vector int vec 列印vector void printvec...

STL容器使用DEMO multimap

code author lin yiqian created 2009 08 24 describe stl multimap 使用demo include include include using namespace std typedef multimap str mmap 列印multima...