给定一系列字符串以及单个字符,要求将以给定字符开头的字符串按照字典序排列
需要注意的点:
1.字符串可以直接比较,参照字典顺序
2.因为比较的是字符串,所以涉及到char与string的相互转换
3.用到了字符串的容器(不是char的容器)
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
void compare(vector<string> v,string s){
char chr = s[0];//string->char
char chr2 = chr+1;
string s2;//char->string
s2+=chr2;
vector<string>:: iterator it;
for(it=v.begin();it!=v.end();){
if(*it<s||*it>=s2){
it=v.erase(it);//去掉开头不符合给定字符的string
}
else{
++it;
}
}
sort(v.begin(),v.end());
for(it=v.begin();it!=v.end();it++){
cout << *it <<endl;
}
}
int main(){
vector<string> v;
string str = "hello world";
string str2 = "here is your pen";
string str3 = "I'm fine,thank you";
string s = "h";
v.push_back(str);
v.push_back(str2);
v.push_back(str3);
compare(v,s);
}