编写一个函数,

编写一个函数,

1 个回答

莫玉贵

提问:编写一个函数,

网友回答:

你要用什么语言做这个?以下是我用C++写的参考

#include <iostream> #include <vector> #include <algorithm> using namespace std; struct DATA { char c; int count; } ; typedef vector <DATA> V_DATA; class data_finder { public: data_finder(const int val):m_data(val) {} bool operator ()(const V_DATA::value_type &value) { return value.c == m_data; } private: int m_data; }; bool compare(const DATA &a,const DATA &b) { return a.count>b.count; } int tosort(const char *s) { char c; DATA t_d; V_DATA data; V_DATA::iterator it=data.end(); while(c=*s++) { t_d.count=1; t_d.c=c; it=find_if(data.begin(),data.end(),data_finder(c)); if (it == data.end()) data.push_back(t_d); else { it->count++; t_d.count=it->count; } } sort(data.begin(),data.end(),compare); for(it = data.begin(); it !=data.end(); it++ ) cout << it->c  ; } int main() { char s[10001]; cin >> s; tosort(s); return 0; }

测试结果符合你的要求:

  • 1 关注
  • 0 收藏, 浏览
  • 提出于

相似问题