请把以下代码改写为c++语言:def reversen #将对应的碱基对转换为数字 if n == A return 0 elif n == C return 1 elif n == G return 2 else return 3 def all_reversesm t = s = s-m
#include
int reverse(char n) { //将对应的碱基对转换为数字 if (n == 'A') { return 0; } else if (n == 'C') { return 1; } else if (n == 'G') { return 2; } else { return 3; } }
vector
vector
int count_list(int one, vector
string fun3(unordered_map<string, int>& dict, int value) { //根据字典的结果来判断相应的字典的名称
vector
vector
for (int e : list_test) {
int r = dict1[list_origin[e]];
list1.push_back(r);
}
sort(list1.begin(), list1.end());
for (int i : list1) {
string y = fun3(dict1, i);
list_aim.push_back(y);
}
return list_aim;
}
void fun(unordered_map<string, int>& dict, int value, vector
string clean_num(string a) { string res = ""; for (char i : a) { if (isdigit(i) == false) { res += i; } } return res; }
int main() {
vector<vector
for (int o1 = 0; o1 < n; o1++) { //将DNA转化为数字,存放于列表中
string a;
cin >> a;
a = to_string(r2) + a;
h.push_back(a);
t.push_back(all_reverse(a, m));
r2 += 1;
}
for (vector<int> i1 : t) { //计算逆序对
for (int i2 : i1) {
vector<int> list1 = i1;
r += 1;
su = count_list(i2, list1, r, su);
}
p.push_back(su);
r = 0;
su = 0;
}
for (int i3 = 0; i3 < n; i3++) {
dict[h[i3]] = p[i3];
}
for (int uu : dict) {
string str_uu = to_string(uu);
yy.insert(str_uu);
}
for (string l : yy) {
int int_l = stoi(l);
fun(dict, int_l, h);
}
vector<pair<string, int>> o(dict.begin(), dict.end());
sort(o.begin(), o.end(), [](auto const& p1, auto const& p2) {
return p1.second < p2.second;
});
for (auto u : o) {
string id = u.first;
int numb = u.second;
cout << clean_num(id) << endl;
}
return 0;
原文地址: https://www.cveoy.top/t/topic/fjql 著作权归作者所有。请勿转载和采集!