在ACM中主要用到string的這幾個功能:賦值,添加,刪除,替換,查找,比較,反向排序。
1.賦值
直接來就行:
string ss;
ss="aaa";
或者
string sa,sb;
cin>>sa;
sb=sa;
2.添加
在末尾加字符或字符串直接用加號:
string ss;
ss+='a';
ss+="aaa";
在中間插入一個字符用ss.insert()函數:
ss.insert(ss.begin()+1,'a');//在ss[1]之前插入字符a
在中間插入一個字符串可以用替換函數ss.replace()
ss.replace(2,0,"aaa");//從第二個字符開始將連續0個元素替換為aaa(就是將aaa插入到了第二個字符前面了)
3.刪除
給ss賦空值ss=""就是把整個字符串清空了。
用ss.erase()刪除掉迭代器所指的一個或一個區間內(左閉右開)的元素。
string::iterator it=ss.begin();
ss.erase(it+1);
ss.erase(it+1,it+3);
4.替換
就是用ss.replace()函數,第一個參數表示從第幾個字符開始,第二個參數表示一共替換幾個,第三個參數表示換成的字符(串);
ss="abcdefg";
ss.replace(2,2,"999");
結果ss為ab999efg;
5.查找
使用ss.find()函數,查得到則返回第一個下標,查不到返回4294967295
ss.find("abc");
6.比較
使用ss.compare()函數,ss大則返回1,小返回-1,相等返回0.
ss.compare("abc");
注:所謂“大”,是指字典序大(在字典中靠后)。
7.反向排序
直接reverse(ss.begin(),ss.end());
