【闲话】07.22.24
0722 闲话
头图:
今日推歌:
《アンヘル feat.鸣花ミコト》かいりきベア
嗚呼
呜呼決壊 シニカルって 1 2 3
决堤 嘲笑着 123辛いでしょ?必死になって生 生 生 生
很痛苦吧?如此拼命地 生生生 生切開 ココロ縫って 2 2 3
剖开 心 缝上 223ガラクタな未来 照らせ照らせ
无价值的未来 照亮吧 照亮吧
这首后来居上成了我最喜欢的熊曲,问就是 Mikoto 中间轻轻一句“呵呵”真的蛊死我了……
写这篇闲话的本意是看到最近的一些事情想评价一下,然后发现自己的话涉政了。
那句话怎么说来着,
“文字狱不止发生在古代。”
这下真涉政了。
关于二维 vector 的 sort 排序:
假设有如下二维动态数组:
1 2 3 4
3 4 5
1 4 5 6 7
7
如果想对其以每一行的数据个数为关键字升序排序,使其变为:
7
3 4 5
1 2 3 4
1 4 5 6 7
有如下处理方式:
首先,size()
函数是动态数组(和 string)特有的,所以可以直接把 vector 作为参数传进 cmp 函数。
其次,因为 sort 函数的前两个参数都是地址,所以可以直接用 &
传 v[1] 和 v[n + 1] 的地址(注意要 +1)。
示例代码
#include <bits/stdc++.h>
#define ll long long
#define MyWife Cristallo
using namespace std;
const int N = 1e4 + 5;
int n, a, b;
vector<int> v[N];
bool cmp(vector<int> x, vector<int> y) {return x.size() < y.size(); }
int main() {
scanf("%d", &n);
for(int i = 1; i <= n; ++i) {
scanf("%d", &a);
while(a--) {scanf("%d", &b); v[i].push_back(b); }
}
sort(&v[1], &v[n + 1], cmp);
for(int i = 1; i <= n; ++i) {
for(int j = 0; j < v[i].size(); ++j) printf("%d ", v[i][j]);
putchar('\n');
}
return 0;
}
评价:没事闲的。
因为想要活下去。
尾图:
(地雷人=去性别化的地雷女)