C++抽象编程——STL(4)——vector中的排序和其他存储方式

来源:互联网 发布:清华协和医学院 知乎 编辑:程序博客网 时间:2024/05/20 03:46

其他类型的vector存储方式

前面我们一直都是介绍的vector用来装int类型的数组,那么既然是容器,就不可能只能装一种东西,我们就举个实例来看看vector怎么装其他的类型的数据:

#include <iostream>#include <vector>#include <string>using namespace std;void outputValue(vector<string> vec);int main() {    vector<string> vec;    vec.push_back("hello");    vec.push_back("dear");    vec.push_back("redAnt");    outputValue(vec);    return 0;}void outputValue(vector<string> vec) {    for(int i = 0; i < vec.size(); i++){        cout << vec[i] << " " ;    }    cout << endl; }

此时的存储是这样的

“hello” 0

他们的对应的下标就是0 1 2,所以vec[1] = “dear”;我们也可以通过输出看出来:
这里写图片描述

而char类型就类似了。

vector排序

其实这只是一种用法,我们导入头文件,利用里面的方法就可以了,具体里面的排序是怎么样的,我们以后在排序算法里讲解。

#include <iostream>#include <vector>#include <algorithm>using namespace std;void outputValue(vector<int> vec);int main() {    vector<int> vec;    for(int i = 0; i <= 9; i++) {        int a;        cin >> a;        vec.push_back(a);    }    cout << "顺序排序" << endl;     sort(vec.begin(), vec.end());    outputValue(vec);    cout << "逆序排序" << endl;     reverse(vec.begin(),vec.end());    outputValue(vec);    return 0;}void outputValue(vector<int> vec) {    for(int i = 0; i < vec.size(); i++){        cout << vec[i] << " " ;    }    cout << endl; }

结果:

0 0
原创粉丝点击