priority

STL优先队列详解

…衆ロ難τιáo~ 提交于 2020-03-21 02:49:18
优先队列 优先队列是一种抽象数据类型(Abstract Date Type,ADT),行为和队列类似,但是先出队的元素不是先进队列的元素,而是队列中优先级最高的元素。 STL的优先队列定义在头文件<queue>和 (队列一样),用"priority_queue<int>pq"来声明; 最基本的用法 定义 : priority_queue<int>pq ; 操作: pq.empty() 如果队列为空返回真 pq.pop() 删除对顶元素 pq.push() 加入一个元素 pq.size() 返回优先队列中拥有的元素个数 pq.top() 返回优先队列对顶元素 下面我们介绍几种优先队列的定义方式: priority_queue<int>pq 默认的是整数越大,优先级越高,如果想让他 整数越小 优先级越高怎么办? STL中也有模板 “priority_queue<int,vector<int>,greater<int > >pq” 上面的尖括号内第一个 参数 为入队元素类型(int),第二个为容器类型(vector<int>),第三个为比较函数(greater<int>) 因此我们也能自定义 priority_queue<int,vector<int>,cmp1 >pq; 最小值优先 priority_queue<int,vector<int>,cmp2 >pq2; 最大值优先

STM32F0_HAL库驱动描述——基于F1的USART串口IT中断实现解析

给你一囗甜甜゛ 提交于 2020-03-15 18:44:36
从原子F103 HAL库基础串口例程来看HAL程序结构; 从main函数开始,首先是HAL库两个函数的初始化: HAL_Init(); Stm32_Clock_Init(RCC_PLL_MUL9); 解析HAL_Init() 分为四个部分: A:启用FLASH预取缓存区; B:设置中断组优先级(由于F0是M0系列的,因此没有组优先级一说); C:配置SYSTICK时钟; D:初始化低等级的硬件; HAL_StatusTypeDef HAL_Init(void) { /* Configure Flash prefetch */ #if (PREFETCH_ENABLE != 0) #if defined(STM32F101x6) || defined(STM32F101xB) || defined(STM32F101xE) || defined(STM32F101xG) || \ defined(STM32F102x6) || defined(STM32F102xB) || \ defined(STM32F103x6) || defined(STM32F103xB) || defined(STM32F103xE) || defined(STM32F103xG) || \ defined(STM32F105xC) || defined(STM32F107xC) /* Prefetch

MongoDB副本集的搭建

时光毁灭记忆、已成空白 提交于 2020-03-08 17:23:11
副本集是mongodb提供的一种高可用解决方案。相对于原来的主从复制,副本集能自动感知primary节点的下线,并提升其中一个Secondary作为Primary。 整个过程对业务透明,同时也大大降低了运维的成本。 架构图如下: MongoDB副本集的角色 1. Primary 默认情况下,读写都是在Primary上操作的。 2. Secondary 通过oplog来重放Primary上的所有操作,拥有Primary节点数据的完整拷贝。 默认情况下,不可写,也不可读。 根据不同的需求,Secondary又可配置为如下形式: 1> Priority 0 Replica Set Members 优先级为0的节点,优先级为0的成员永远不会被选举为primary。 在mongoDB副本集中,允许给不同的节点设置不同的优先级。 优先级的取值范围为0-1000,可设置为浮点数,默认为1。 拥有最高优先级的成员会优先选举为primary。 譬如,在副本集中添加了一个优先级为2的成员node3:27020,而其它成员的优先级为1,只要node3:27020拥有最新的数据,那么当前的primary就会自动降 级,node3:27020将会被选举为新的primary节点,但如果node3:27020中的数据不够新,则当前primary节点保持不变,直到node3:27020的数据更新到最新。 2>

logcat使用

烂漫一生 提交于 2019-12-23 18:14:52
做android有些日子了,只是对主要的logcat的具体使用方法还是非常模糊,今天有空,学习一下。 logcat能够在adb中使用,也能够直接在命令行下使用。 logcat [options] [filterspecs] logcat的选项包含: -s 默认设置过滤器,如指定'*:s'. -f <filename> 输出到文件,默认情况是标准输出. -r [<kbytes>] 循环log的字节数(默觉得16),须要-f. -n <count> 设置循环log的最大数目,默认是4 -v <format> 设置log的打印格式, <format> 是以下的一种: brief process tag thread raw time threadtime long. -c 清除全部log并退出. -d 得到全部log并退出 (不堵塞). -g 得到环形缓冲区的大小并退出. -b <buffer> 请求不同的环形缓冲区('main' (默认), 'radio', 'events'). -B 输出log到二进制中. 1. 日志过滤器设置 每个输出的Android日志信息都有一个标签和它的优先级. 日志的标签是系统部件原始信息的一个简要的标志。(比方:“View”就是查看系统log的标签,“RFID_HAL”就是查看RFID的HAL层log的标签)。 优先级有下列集中,是依照从低到高顺利排列的

Ubuntu,安装最新版的GCC

断了今生、忘了曾经 提交于 2019-12-04 03:35:54
Ubuntu最新gcc版本在ppa:ubuntu-toolchain-r/test中, 可以点击这个网址查看 https://launchpad.net/~ubuntu-toolchain-r/+archive/test sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get install gcc-5 sudo apt-get install g++-5 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 30 --slave /usr/bin/g++ g++ /usr/bin/g++-5 sudo update-alternatives --config gcc ///////////////////////////////////////////////////////////////////////// 命令知识: update

用触发器更新SQL记录

梦想的初衷 提交于 2019-11-27 15:13:19
CREATE FUNCTION reorder_priority() RETURNS TRIGGER AS $$ BEGIN CASE TG_OP WHEN 'UPDATE' THEN UPDATE link SET priority = priority + 1 WHERE link.priority >= NEW.priority AND NOT link.priority > OLD.priority; END CASE; RETURN NULL; END; $$ LANGUAGE plpgsql;正确解法 BEGIN CASE TG_OP WHEN 'UPDATE' THEN UPDATE link SET priority = priority + 1 WHERE link.priority >= NEW.priority AND NOT link.priority >= OLD.priority; END CASE; RETURN NEW; END; 来源: https://www.cnblogs.com/gamecenter/p/11368029.html

VPC配置案例

我的梦境 提交于 2019-11-26 18:10:38
拓扑: 配置: N9K-1: vlan 1-500 vrf context APP vrf context CTRIX vrf context DB vrf context Keep_alive vrf context VM vrf context management vpc domain 1000 peer-switch role priority 65535 peer-keepalive destination 172.16.1.2 source 172.16.1.1 vrf Keep_alive auto-recovery interface Vlan1 interface Vlan10 no shutdown vrf member VM ip address 10.10.1.251/24 hsrp 10 ip 10.10.1.254 hsrp 20 preempt priority 110 interface Vlan20 no shutdown vrf member VM ip address 10.10.2.251/24 hsrp 20 preempt priority 110 ip 10.10.2.254 interface Vlan30 no shutdown vrf member APP ip address 10.10.3.251/24 hsrp 30

进程调度

ⅰ亾dé卋堺 提交于 2019-11-26 14:36:13
//进程一 public class Process1 { public int name; //进程ID名 public int priority; //优先权数 public int cputime; //进程需要的时间 public String state; //进程状态 //设置 process类的构造方法 Process1(int i, int priority , int cputime , String state) { this.name = i; this.priority = priority; this.cputime = cputime; this.state = state; } public String toString() { return "进程名:" + name + " 优先级为:" + priority + " 需要运行的时间:" + cputime + " 进程状态:" + state; } } //进程二 public class Process2 { public int name; public int needTime; public int ocpTime; public String state; Process2(int i, int needTime , int ocpTime , String state) { this