基础算法学习以及$STL$的使用
2021-05-17 00:29
标签:归并排序 结构体 n+1 quic ons span empty for 元素 用法 基础算法学习以及$STL$的使用 标签:归并排序 结构体 n+1 quic ons span empty for 元素 原文地址:https://www.cnblogs.com/sqrthyy/p/9747857.html1.优先队列
(1)大根堆(小顶堆)
priority_queue
(2)小根堆(大顶堆)
priority_queue
q.push(x);//入队列
q.pop();//堆顶值
q.back();//队尾值
q.pop();//出队列
q.empty();//返回q是否为空,空则返回1,否则返回0
q.size();//返回q里元素个数
2.排序
(1)快排(STL万岁!\(QwQ\))
sort(a+1,a+n+1);//a数组1~n从小到大排序
(2)结构体排序
//定义
struct node{
int x,y;
};
node a[maxn];
//先从小到大按x值排序,再从大到小按y值排序
bool cmp(node s1,node s2){
if(s1.x!=s2.x)return s1.x
(3)结构体内重载运算符
struct node
{
int x,y;
bool operator
(4)归并排序
#include
(5)手写快排
int a[101];
void hand_write_quick_sort(int l,int r)
{
if(l>=r) return;
else
{
int i=l;
int j=r;
int top=a[i];
//a[i]即为我们选择的“点”,用于分割
//(我们用的是这个点的值,而不是位置。)
while(i
上一篇:Java开发知识之Java入门
下一篇:中文分词算法综述