1075 链表元素分类 解题代码测试结果问题整理 解题代码 #include<iostream> #include<vector> using namespace std; int main() { int f, n, k, temp; cin >> f >> n >> k; vector<int> v, v1, v2, v3, d(100005), ne(100005); for (int i = 0; i < n; i++) { cin >> temp; cin >> d[temp] >> ne[temp]; } while (f != -1) { if (d[f] < 0) v1.push_back(f); else if (d[f] >= 0 && d[f] <= k) v2.push_back(f); else v3.push_back(f); f = ne[f]; } v1.insert(v1.end(), v2.begin(), v2.end()); v1.insert(v1.end(), v3.begin(), v3.end()); for (int i = 0; i < v1.size() - 1; i++) printf("%05d %d %05d\n", v1[i], d[v1[i]], v1[i + 1]); printf("%05d %d -1", v1[v1.size() - 1], d[v1[v1.size() - 1]]); return 0; } 测试结果 问题整理 1.掌握了vector的拼接技术!~