sort_heap(,)//给堆排序
#include
using namespace std;
vector<int> a;
int main(){
sort_heap(a.begin(),a.end());
return 0;
}
make_heap(,)//从序列构造堆
#include
using namespace std;
vector<int> a;
int main(){
make_heap(a.begin(),a.end());
return 0;
}
push_heap(,)//向堆中加入元素
#include
using namespace std;
vector<int> a;
int main(){
push_heap(a.begin(),a.end());
return 0;
}
pop_heap(,)//从堆中弹出元素
#include
using namespace std;
vector<int> a;
int main(){
pop_heap(a.begin(),a.end());
return 0;
}
min_element(,)//找出序列中的最小元素
#include
using namespace std;
int n=3,a[105]={0,4,2,3};
int main(){
min_element(a,a+n);
return 0;
}
max_element(,)//找出序列中的最大元素
#include
using namespace std;
int n=3,a[105]={0,4,2,3};
int main(){
max_element(a,a+n);
return 0;
}
lexicographical_compare(,)// 两个序列按字典序的第一个在前
#include
using namespace std;
vector<int> a;
vector<int> b;
int main(){
lexicographical_compare(a.begin(),a.end(),b.begin(),b.end());
return 0;
}
prev_permutation(,)//按字典序的前一个排列
#include
using namespace std;
int n,a[105];
int main(){
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
sort(a+1,a+n+1);
prev_permutation(a+1,a+n+1);
return 0;
}