#include<bits/stdc++.h>
#define ios ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)//不能使用scanf了
#define int long long
#define loop(x,a,b) for(int x=a;x<=b;x++)
#define rloop(x,a,b) for(int x=a;x>=b;x--)
#define pii pair<int,int>
#define mem(a,x) memset(a,x,sizeof a)
#define lowbit(x) (x&(-x))
#define print(c) cout<<""#c": "<<c<<endl;
#define printt(a,b) cout<<""#a": "<<a<<'-'<<""#b": "<<b<<endl;
#define prinT(n,arr,flag) loop(i,n){if(i==0&&flag)cout<<""#arr":"<<endl;if(i!=n-1)cout<<arr[i]<<' ';else cout<<arr[i]<<endl;}
#define MAX INT_MAX
#define MIN INT_MIN
const int mod = 1e9 + 7;
const int N = 1e6 + 20;
using namespace std;
int gcd(int a, int b) { return b > 0 ? gcd(b, a % b) : a; }
int lcm(int a, int b) { return a / gcd(a, b) * b; }
void solve() {
multiset<int> ans;
ans.insert(9);
ans.insert(99);
ans.insert(123);
printt(*ans.begin(), *ans.rbegin());
deque<int> s;
s.push_back(1), s.push_back(2), s.push_back(999);
print(*s.end());
map<int,int> m;
m[1]=2;
m[2]=3;
print(m.end()->first);
print(m.rend()->first);
}
signed main() {
ios;
int n = 1;
//cin >> n;
while (n--)solve();
}
这里给出可能有误差的结论,对于一维容器,end()就像string后面的'\0'一样,作为结尾的标记,如果要访问到末尾,我们可以直接使用ans.rbegin();
二维的话,这里只用map举例,大概率就末尾的元素;
本文仅做初步探索以满足使用需求,没有深度解析,如有补充,欢迎评论