当前位置: 代码迷 >> 综合 >> C++之STL库简单介绍
  详细解决方案

C++之STL库简单介绍

热度:91   发布时间:2024-01-25 08:38:14.0

1. sort()     可以自己定义新的结构体数组排序,sort第三个参数可以设置为根据哪个值排序

	int a[] = {2,-1,3,6,4,9,5};int n = sizeof(a) / sizeof(int); sort(a, a + n);for (int i = 0; i<n; i++){cout <<a[i] << " ";}return 0;

2. string

string s = "46237879426";   // 排序
sort(s.begin(),s.end());
cout << s;
	string s = "46237879426";s.erase(s.begin());  //删除第一个cout << s << endl;s.erase(--s.end());  //删除最后一个cout << s << endl;
	string s = "46237879426";   s = s.substr(2, 3); //从第二个位置开始,取三个cout << s << endl; 
	string s = "46237879426";cout << s.length() << endl;  //长度

3. vector

	vector<int> v;  //空的  初始为0// vector<int> v(4,6);   //初始化4个6v.push_back(1);v.push_back(2);v.push_back(3);v.push_back(4);for (vector<int>::iterator it = v.begin(); it != v.end(); it++){cout << *it;}
	vector<int> v = {4,6,1,8,52,9,3};sort(v.begin(), v.end());    //排序,可以加第三个参数即顺序和逆序for(auto x : v)      //此处在vs2010中会报错,使用VS2015没问题cout << x;

4. stack()

	stack<int> s;  //push,pop,size,emptys.push(2);s.push(3);cout << s.size() << endl;cout << s.top() << endl;s.pop();cout << s.top() << endl;cout << s.empty() << endl;s.pop();cout << s.empty() << endl;  //空值返回为1

5.  queue

	queue<int> q;q.push(5);q.push(6);cout <<q.size() << q.front() << q.back() << endl;q.pop();cout <<q.size() << q.front() << q.back() << endl;

6. map

	map<int,int> m;   //有序m[6]=3;m[5]=6;m[4]=9;for (auto it=m.begin();it!=m.end();it++){cout << it->first << " " << it->second << endl;}
	unordered_map<int,int> m;   //有序m[6]=3;m[5]=6;m[4]=9;for (auto it=m.begin();it!=m.end();it++){cout << it->first << " " << it->second << endl;}

7. set

	set<int> s;s.insert(3);s.insert(1);s.insert(3);cout << s.size() << endl;for (auto it = s.begin();it!=s.end();it++){cout << *it << " ";}
	unordered_set<int> s;   //无序s.insert(3);s.insert(1);s.insert(3);cout << s.size() << endl;for (auto it = s.begin();it!=s.end();it++){cout << *it << " ";}

8. deque  双端队列

	deque<int> d;d.push_back(1);d.push_front(2);d.push_back(3);d.push_front(4);for (auto it = d.begin();it!=d.end();it++){cout << *it << " ";}

 

 

 

 

 

  相关解决方案