1. 程式人生 > >字串反轉(reverse實現)

字串反轉(reverse實現)

題目描述

寫出一個程式,接受一個字串,然後輸出該字串反轉後的字串。

輸入例子

abcd

輸出例子

dcba

程式碼

#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
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 <<endl; system("pause"); return 0; }

註釋

reverse函式

#include<algorithm>
reverse(vec.begin
(),vec.end());//將元素翻轉

vector擴充套件知識

1.使用sort排序

#include<algorithm>
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<<endl;

插入元素
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();