templae(数据类型)、vector定义变量、 priority_queue

一、

templae<typename T>可以根据你所需要的类型就行匹配。
例如:

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
template <typename T>
T mmax(T a,T b)
{
    return a>b?a:b;
}
int main()
{
    int  a,b;
    cin>>a>>b;
    cout<<mmax(a,b)<<endl;
    char c,d;
    cin>>c>>d;
    cout<<mmax(c,d)<<endl;
    double f,g;
    cin>>f>>g;
    cout<<mmax(f,g)<<endl;
}

二、

1.vector<int> edge1(maxn) ,定义了一个名为edge1的向量,且此向量有maxn个元素,元素类型为int类型。
2.vector<vector<int>> edge2(maxn),定义了一个名为edge2的向量,此向量有maxn个元素,元素类型为vector 类型。
3.一般情况:vector<元素类型> 向量名(向量长度).
把上面的两个定义分别来对应3中的名字就很清楚了。
在 1 中:元素类型为 “int 类型”、向量名为“edge”、向量长度为“maxn”
在 2 中:元素类型为 "vector类型”、向量名为“edge2”、向量长度为”maxn“

vector< vector<int> > v(m, vector<int>(n) );是什么意思?
定义了一个vector容器,元素类型为vector<int>,初始化为包含m个vector<int>对象,
每个对象都是一个新创立的vector<int>对象的拷贝,而这个新创立的vector<int>对象被初始化为包含n个0。
从结果上看,类似于创建了一个m×n的二维数组,而且可以通过v[i][j]的方式来访问元素(vector支持下标访问元素)。

vector<vector<int>>b(a[0].size(),vector<int>(a.size())) 什么意思?
vector<vector<int>>b实例化一个名为b的vector。这个vector当中存得是一系列的vector<int>
实例化的同时,在b里面放入一些默认值。总共放入a[0].size()个默认值,默认值的内容是vector<int>(a.size()),即一个长度为a.size(),里面值都填充为0的vector<int>
可以把b想象成一个表,它有a[0].size()行,其中每行又有a.size()列。新建的表里面这a[0].size()行*a.size()列全部填成0。

三、

struct node
{
    int s,e,id;
    bool operator < (const node &a)const    //优先级队列排序条件。
    {
        return e>a.e;                       //添加的元素小于队头元素时返回true。即从小到大有序存储。
    }
};
priority_queue <node> q;

在向队列中添加元素时,会按照约束条件有序存储。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

为君倾此杯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值