last

STL--sort源码分析

女生的网名这么多〃 提交于 2020-03-11 09:32:17
SGI STL sort源码 temlate <class RandowAccessIterator> inline void sort(RandowAccessIterator first, RandowAccessIterator last){   if(first ! = last){     _introsort_loop(first, last, value_type(first), _lg(last-first)*2);     _fina,_insertion_sort(first, last);   } } 其中_lg()用来控制分割恶化的情况,分割的层数小于log2(last-first)*2,使用快排,大于时,使用堆排序 template <class RandowAccessIterator, class T, class size> void _introsort_loop(RandowAccessIterator first, RandowAccessIterator last, T*,Size depth_limit){   //首先判断排序区间的元素个数,如果小于等于16,则直接使用插入排序,否则对区间分区   while((last - first) > _stl_threshold){     if(depth_limit == 0){/

stl sort分析

北城余情 提交于 2020-03-11 09:25:34
最近写代码,无意中发现了一个坑,关于自定义比较函数的stl sort函数的坑,于是记录下来。 先贴代码: 1 #include <iostream> 2 #include <vector> 3 #include <algorithm> 4 5 struct finder 6 { 7 bool operator()(int first, int second){return first <= second;} 8 } my_finder; 9 10 int main(int argc, char** argv) 11 { 12 int value = atoi(argv[1]); 13 int num = atoi(argv[2]); 14 std::vector<int> vecTest; 15 for(int i=0; i!=num; ++i) 16 vecTest.push_back(value); 17 18 std::sort(vecTest.begin(), vecTest.end(), my_finder); 19 for(int i=0; i!=vecTest.size(); ++i) 20 std::cout<<vecTest[i]<<'\t'; 21 std::cout<<std::endl; 22 23 return 0; 24 } 这段代码看上去好好的

剑指offer-20200310

Deadly 提交于 2020-03-11 02:29:53
20200310 题目 :1~n整数中1出现的次数。 输入一个整数 n ,求 1~n 这n个整数的十进制表示中1出现的次数。 例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。 思路 : f(n) 函数的意思是 1~n 这 n 个整数的十进制表示中 1 出现的次数,将 n 拆分为两部分,最高一位的数字 high 和其他位的数字 last ,分别判断情况后将结果相加,看例子更加简单。 例子如 n=1234 , high=1 , pow=1000 , last=234 可以将数字范围分成两部分 1~999 和 1000~1234 1~999 这个范围1的个数是 f(pow-1) 1000~1234 这个范围1的个数需要分为两部分: 千分位是1的个数:千分位为1的个数刚好就是 234+1(last+1) ,注意, 这儿只看千分位,不看其他位 其他位是1的个数:即是 234 中出现1的个数,为 f(last) 所以全部加起来是 f(pow-1) + last + 1 + f(last) ; 例子如 3234 , high=3 , pow=1000 , last=234 可以将数字范围分成两部分 1~999 , 1000~1999 , 2000~2999 和 3000~3234 1~999 这个范围1的个数是 f(pow-1) 1000~1999

快速排序java代码

笑着哭i 提交于 2020-03-10 16:53:32
public void quickSort(int[] arr, int left, int right){   if(left>=right){     return ;   }   int last = left;   for(int i=left+1;i<=right;i++){     if(arr[i]<arr[left]){       swap(arr, i, ++last);     }   }   swap(arr, left, last);   quickSort(arr, left, last-1);   quickSort(arr, last+1, right); } 来源: https://www.cnblogs.com/cbhe/p/12456290.html

zabbix 监控 tomcat

こ雲淡風輕ζ 提交于 2020-03-10 11:52:55
zabbix提供了一个java gateway的应用去监控jmx(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。 服务端配置 zabbix server安装java gateway [root@zabbix ~]# yum install -y java java-devel zabbix-java-gateway [root@zabbix ~]# java -version openjdk version "1.8.0_181" OpenJDK Runtime Environment (build 1.8.0_181-b13) OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode) [root@zabbix ~]# service zabbix-java-gateway status Redirecting to /bin/systemctl status zabbix-java-gateway.service ● zabbix-java-gateway.service - Zabbix Java Gateway Loaded:

Logstash的配置

。_饼干妹妹 提交于 2020-03-10 08:26:48
MySql 到 Elasticsearch input { jdbc { # 驱动jar包的位置 jdbc_driver_library => "/usr/local/logstash/jdbc-driver-library/mysql-connector-java-8.0.19.jar" # 驱动类名 jdbc_driver_class => "com.mysql.cj.jdbc.Driver" # 数据库连接 jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/base_db?characterEncoding=utf8&autoReconnect=true&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull" # mysql用户名 jdbc_user => "root" # mysql密码 jdbc_password => "123456" # 数据库重连尝试次数 connection_retry_attempts => "3" # 开启分页查询(默认false不开启) jdbc_paging_enabled => true # 单次分页查询条数(默认100000,若字段较多且更新频率较高,建议调低此值) jdbc_page_size =>

如何选择元素中除最后一个孩子以外的所有孩子?

雨燕双飞 提交于 2020-03-09 17:45:13
我如何使用CSS3选择器选择除最后一个孩子以外的所有孩子? 例如,仅获取最后一个孩子将是 div:nth-last-child(1) 。 #1楼 Nick Craver的解决方案有效,但您也可以使用以下方法: :nth-last-child(n+2) { /* Your code here */ } CSS Tricks的Chris Coyier为此做了一个不错的 :nth测试人员 。 #2楼 您可以对 :last-child 伪类 使用 否定伪类 :not() 。 正在被引入CSS选择器3级,它不适用于IE8或更低版本: :not(:last-child) { /* styles */ } #3楼 当IE9出现时,它将变得更加容易。 但是,在很多时候,您可以将问题切换到要求:first-child的样式,并设置元素的另一面(IE7 +)的样式。 #4楼 简单点: 您可以将样式应用于所有div,然后使用 :last-child 重新初始化最后一个样式: 例如在 CSS中 : .yourclass{ border: 1px solid blue; } .yourclass:last-child{ border: 0; } 或在 SCSS中 : .yourclass{ border: 1px solid rgba(255, 255, 255, 1); &:last-child{

HDU 4747 Mex 递推/线段树

会有一股神秘感。 提交于 2020-03-09 16:02:40
题目链接: acm.hdu.edu.cn/showproblem.php?pid=4747 Mex Time Limit: 15000/5000 MS (Java/Others)Memory Limit: 65535/65535 K (Java/Others) 问题描述 Mex is a function on a set of integers, which is universally used for impartial game theorem. For a non-negative integer set S, mex(S) is defined as the least non-negative integer which is not appeared in S. Now our problem is about mex function on a sequence. Consider a sequence of non-negative integers {ai}, we define mex(L,R) as the least non-negative integer which is not appeared in the continuous subsequence from aL to aR, inclusive. Now we want to

FFmpeg学习6:视音频同步

混江龙づ霸主 提交于 2020-03-09 06:56:43
在上一篇文章中,视频和音频是各自独立播放的,并不同步。本文主要描述了如何以音频的播放时长为基准,将视频同步到音频上以实现视音频的同步播放的。主要有以下几个方面的内容 视音频同步的简单介绍 DTS 和 PTS 计算视频中Frame的显示时间 获取Audio clock(audio的播放时长) 将视频同步到音频上,实现视音频同步播放 视音频同步简单介绍 一般来说,视频同步指的是 视频和音频同步 ,也就是说播放的声音要和当前显示的画面保持一致。想象以下,看一部电影的时候只看到人物嘴动没有声音传出;或者画面是激烈的战斗场景,而声音不是枪炮声却是人物说话的声音,这是非常差的一种体验。 在视频流和音频流中已包含了其以怎样的速度播放的相关数据,视频的帧率(Frame Rate)指示视频一秒显示的帧数(图像数);音频的采样率(Sample Rate)表示音频一秒播放的样本(Sample)的个数。可以使用以上数据通过简单的计算得到其在某一Frame(Sample)的播放时间,以这样的速度音频和视频各自播放互不影响,在理想条件下,其应该是同步的,不会出现偏差。但,理想条件是什么大家都懂得。如果用上面那种简单的计算方式,慢慢的就会出现音视频不同步的情况。要不是视频播放快了,要么是音频播放快了,很难准确的同步。这就需要一种 随着时间会线性增长的量 ,视频和音频的播放速度都以该量为标准

【Java集合】试读LinkedList源码

杀马特。学长 韩版系。学妹 提交于 2020-03-08 09:39:30
LinkedList的本质是双向链表。 (01) LinkedList继承于AbstractSequentialList,并且实现了Dequeue接口。 (02) LinkedList包含两个重要的成员: header 和 size 。   header是双向链表的表头,它是双向链表节点所对应的类Entry的实例。Entry中包含成员变量: previous, next, element。其中,previous是该节点的上一个节点,next是该节点的下一个节点,element是该节点所包含的值。   size是双向链表中节点的个数。 (前面照旧是复制粘贴的图和文字,大家大概理解一下,下面进入正题) 为了理解上面的概念,首先我们来看一下核心类Node //节点,有前驱,后继和值三个字端,其中前驱和后继也是节点 private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<E> prev, E element, Node<E> next) { this.item = element; this.next = next; this.prev = prev; } } Node表示的是结点,结点里面有三个元素: 数据,前驱和后继。 其中数据可是任意类型,前驱和后继同样是结点。