c++ 常用的数据结构

set

 1 // constructing sets
 2 #include <iostream>
 3 #include <set>
 4 
 5 void checkin(std::set<int> & myset,int v)
 6 {
 7     if (myset.find(v) != myset.end())
 8         std::cout << "in " << std::endl;
 9     else
10         std::cout << "not" << std::endl;
11 };
12 int main()
13 {
14 
15     int myints[] = { 10, 20, 30, 40, 50 };
16     std::set<int> myset(myints, myints + 5);        // range
17 
18     checkin(myset, 10);
19     
20     myset.erase(myset.find(10));//删除元素
21     checkin(myset, 10);
22     myset.insert(10);//添加元素
23     checkin(myset, 10);
24 
25     system("pause");
26     return 0;
27 }

c++ 如何检查一个元素是否在std :: set?

有一个更简单的等价的下面的代码:

 myset.find(x) != myset.end()
检查许多STL容器中的存在的典型方法是:
const bool is_in = container.find(element) != container.end();
 
 
 
 

vector

创建:

 // constructors used in the same order as described above:
  std::vector<int> first;                                // empty vector of ints
  std::vector<int> second (4,100);                       // four ints with value 100
  std::vector<int> third (second.begin(),second.end());  // iterating through second
  std::vector<int> fourth (third); 

/m*n的二维vector,注意两个 "> "之间要有空格!

vector<vector <int> > ivec(m ,vector<int>(n)); 

最后一个元素

vector.back()

可以赋值  

vector.back() = xxx;

头部插入元素

vector<int> a;
a.insert(a.begin(), 1);
a.insert(a.begin(), 2);

删除最后一个元素

pop_back();

原文地址:https://www.cnblogs.com/zle1992/p/10168504.html