当前位置:网站首页>STL container

STL container

2022-07-05 01:50:00 Porter hunter of the program

A rough summary


  • stl Containers

cin>>s;     Space , enter ,EOF end

getline(cin,s); The input line , The space does not end

length s.size();

Traverse :

for(int i=0;i<s.size();i++){

cout<<s[i];

}

Splicing :string t=”123”;

string s=”456”;

s=s+t;//s=”123456”;

s=s+”789”;//s=”123456789”;

s=”00”+s;//s=”00123456789”

Empty :s.clear();

  s.empty();// If s If it is empty, the value is 1, Otherwise 0;

  • vector

One dimensional operation :
Definition :vector<int>v;

Insert :v.push_back(1);

cout<<v[0];

Two dimensional operation :

vector< vector<int> > asd1;// Definition

For a one-dimensional array , have access to size() Get its length .

int size = asd.size();

For two dimensional arrays , You can use the following methods to get rows 、 Column length .

int size_row = asd1.size();          // Get the number of lines

int size_column = asd1[0].size();    // Get the number of columns

Direct assignment

asd1[1][1] = 1;

cout << asd1[1][1] <<endl;

asd1[1].push_back(23); // Insert column elements

asd1.push_back(asd); // Insert a row

Delete row :

auto test1 = asd1.begin();

asd1.erase(++test1);

Delete column :

auto test2 = test1.begin();

asd1[0].erase(++test2);

Traverse :

vector<vector<int> >::iterator p1;

vector<int>::iterator p2;

for (p1 = a.begin(); p1 != a.end(); p1++){

        for (p2 = p1->begin(); p2 != p1->end(); p2++){

                cout << "[" << *p2 << "]";

        }

  • stack

stack<int>st;

First in, then out
Input :
st.push(1);// Add
Output :
st.top();// Output the first element of the stack
st.pop();// Delete the first element of the stack

Redefinition will automatically clear
while(cin>>n) stack<int>st;

  • queue

queue<int>q;

fifo

Input
q.push(1);

Output :
q.front();
q.pop();

Priority queue

priority_queue<int>q;// Big root pile , null
Input :
q.push(1);  

Output
q.top();
q.pop();

priority_queue<int,vector<int>,greater<int>>tp;// Heap , Ascending sort

  • set To reorder

set<int>st;
st.insert();
*st.begin();// First element   *st.end(); The last element
st.find(1);// Find out if there is 1 This element ;
st.count(1);// There are several elements 1;
multiset<int>st;// Don't reorder ;

  • map Array

map<int,string>mp;//int It's equivalent to a subscript ,string Equivalent to content
int and string The type of can be changed at will ;
mp[1]=”123”;

  • deque deque

deque<int>d;

iterator :

begin() Point to the position of the first element

end() Point to the position after the last element

rbegin() Point to a position before the first element

rend() Point to the last element position

Capacity dependent :

size() Returns the size of the container

max_size() Returns the maximum capacity of the container

empty() Judge whether the container is empty

resize() Change the size of the container

  Member visit :

Use [ ] Access to , Use .at() Access to

front()   Returns the first element

back()   Return to the last element

Container adjustment :

assign Reassign elements to containers

push_back Insert the element... At the end of the container

push_front Insert the element... At the beginning of the element

pop_back Delete last element

pop_front Delete the beginning element

insert Inserts an element into the specified position , The return value is the iterator pointing to the last insertion position

erase Remove elements

swap Swap two containers

clear Empty the container

emplace Inserts an element into the specified position , Only a single element can be inserted

emplace_front Insert the element at the beginning of the container ( Efficient than push_front high )

emplace_back Insert the element at the end of the container

原网站

版权声明
本文为[Porter hunter of the program]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202141011519310.html