HDOJ 1106 排序 [stable_sort]
2009-10-28 13:55
337 查看
求解思路:
调用泛型算法stable_sort().注意几类特殊情况的考虑.如005555,0065500,00000,555000等.
AC代码:
调用泛型算法stable_sort().注意几类特殊情况的考虑.如005555,0065500,00000,555000等.
AC代码:
#include <iostream> #include <string> #include <vector> #include <algorithm> #include <cstring> using namespace std; bool isShorter(const string &s1, const string &s2) { if(s1.size()!=s2.size()) return s1.size()<s2.size(); else return strcmp(s1.c_str(),s2.c_str())<0; } int main() { string str; while(cin>>str) { string s,_s; str+='5'; vector<string> vec; size_t i; for(i=0;i!=str.size();++i) { if(str[i]!='5') s+=str[i]; else if(s!=""){ size_t k,j; for(k=0;s[k]=='0';++k); for(j=k;j<s.size();++j) _s+=s[j]; if(k==s.size()) _s="0"; vec.push_back(_s); _s=s=""; } } stable_sort(vec.begin(),vec.end(),isShorter); for(vector<string>::iterator iter=vec.begin(); iter!=vec.end();++iter) { cout << *iter; if(iter!=vec.end()-1) cout << " "; } cout << endl; } return 0; }
相关文章推荐
- STL_算法(27)_对所有元素排序sort(b, e) sort(b, e, p) stable_sort(b, e) stable_sort(b, e, p)
- C# Stable Sort(稳固排序)
- c、c++排序函数qsort、stable_sort
- hdoj 1106 排序
- HDOJ 1236 排名(结构体成员的 sort 排序方法)
- HDOJ-1106-排序
- hdoj 1106 排序
- HDOJ 1106 排序
- hdoj-1106 排序
- [HDOJ1106]排序
- 杭电OJ(HDOJ)1862题:EXCEL排序(结构体sort)
- hdu/hdoj 1106 排序
- HDOJ 1106 排序
- 排序专题HDOJ1106,2000,2020
- HDOJ 1106 排序 (字符串处理)
- hdoj1106 排序
- HDOJ HDU 1106 排序 ACM 1106 IN HDU
- STL_算法_对所有元素排序(sort、stable_sort)
- hdoj 1106 排序 【水题】
- 字符排序(hdoj1106)