本人初学计算机C++语言,练习vector,需要用到sort函数,但是电脑中没有这个函数,请问如何编写sort函数?
又试了一下,windows Ctrl + Z 是可以终止输入的:
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;
int main()
{
vector<string> words;
for (string temp; cin >> temp;)
words.push_back(temp);
cout << words.size() << endl;
sort(words.begin(), words.end());
for (size_t i = 0; i < words.size(); i++)
cout << words[i] << " ";
// 删除重复的单词
words.erase(unique(words.begin(), words.end()), words.end());
cout << endl;
cout << words.size() << endl;
for (size_t i = 0; i < words.size(); i++)
cout << words[i] << " ";
return 0;
}
测试如下:
this is my vector you know my vector
^Z
8
is know my my this vector vector you
6
is know my this vector you 请按任意键继续. . .
sort 带两个参数, sort(words.begin(), words.end());
如果google 搜索 vector sort in C++ 可以找到很多很多例子。
怎么没有这个函数的?sort的用法是sort(words.begin(),words.end(),自定义比较函数(可选));
和课本上不一样,是因为课本上输出时多加了个换行,这个无关紧要。