1. 程式人生 > 實用技巧 >演算法設計(c++)

演算法設計(c++)

題目資訊

題目源:codeforce,連結:https://codeforces.com/problemset/problem/339/A

涉及的演算法及資料結構:貪心,排序,字串

需求分析

這道題目很簡單,第一反應就是將數存到容器,排序後在輸出。沒有什麼複雜的演算法設計。

總結

通過這道演算法題對vector容器更加熟練,vector的存入以及遍歷輸出,vector的end指向的是最後元素的後一個位置,用系統sort函式對vector進行排序。

程式碼實現

 1 #include<iostream>
 2 #include<string>
 3 #include<vector>
 4
#include<algorithm> 5 using namespace std; 6 7 8 int main() 9 { 10 string bs ; 11 cin>>bs; 12 vector<int> list; 13 for(int i=0;i<bs.length();i++) 14 { 15 if(bs[i]>=49&&bs[i]<=57) 16 { 17 list.push_back(bs[i]-48);
18 } 19 } 20 //for迴圈遍歷vector容器 21 /*for (vector<int>::iterator it = list.begin(); it != list.end(); it++) { 22 cout << *it << " "; 23 } 24 cout << endl;*/ 25 sort(list.begin(),list.end());//用系統sort函式對vector容器排序 26 /*for (vector<int>::iterator it = list.begin(); it != list.end(); it++) {
27 cout << *it << " "; 28 } 29 cout << endl;*/ 30 for(vector<int>::iterator it = list.begin();it!= list.end();it++) 31 { 32 if(it!=list.end()-1) 33 cout<<*it<<"+"; 34 else 35 cout<<*it; 36 } 37 return 0; 38 }