字符串反转(reverse实现)

题目描述

写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。

输入例子

abcd

输出例子

dcba

代码

#include
#include
#include
#include
using namespace std;

int main()
{
    string input;//输入字符串
    getline(cin, input);
    vector<char>arr;
    for (int i = 0; i < input.length(); ++i) {//将字符串存入容器
        arr.push_back(input[i]);
    }
    reverse(arr.begin(), arr.end());//翻转字符串
    for (vector<char>::iterator it = arr.begin(); it !=arr.end(); ++it) {
        cout << *it;
    }
    cout <"pause");
    return 0;
}

注释

reverse函数

#include
reverse(vec.begin(),vec.end());//将元素翻转

vector扩展知识

1.使用sort排序

#include
sort(vec.begin(),vec.end());//默认是按升序排列,即从小到大

可以通过重写排序比较函数按照降序比较,如下:
定义排序比较函数:

bool Comp(const int &a,const int &b)
{
    return a>b;
}
sort(vec.begin(),vec.end(),Comp);//调用时降序排序

2.vector的一些基本操作
使用迭代器访问元素

vector<int>::iterator it;
for(it=vec.begin();it!=vec.end();it++)
    cout<<*it<

插入元素
vec.insert(vec.begin()+i,a); 在第i+1个元素前面插入a
删除元素
vec.erase(vec.begin()+2); 删除第3个元素
vec.erase(vec.begin()+i,vec.end()+j); 删除区间[i,j-1],区间从0开始
向量大小
vec.size();
清空
vec.clear();

你可能感兴趣的:(华为机试题)