- 博客(25)
- 资源 (2)
- 收藏
- 关注
转载 正则表达式中零宽断言(正则环视) grep -oP参数
转载地址:http://blog.sina.com.cn/s/blog_935ccd710101jhgn.html好久没有写过正则的东西了。今天说说零宽断言,我看过网上那篇著名的《正则表达式30分钟入门》,那时应该是08年左右,我还觉得正则太难了。《编译原理及实践》中讲到了正则,但这门课程本身我就学得乱七八糟。零宽断言的英文原文:Zero-WidthAsse
2017-11-16 17:28:00
12780
转载 【数据结构与算法】内部排序之三:堆排序(含完整源码)
转载请注明出处:http://blog.youkuaiyun.com/ns_code/article/details/20227303前言 堆排序、快速排序、归并排序(下篇会写这两种排序算法)的平均时间复杂度都为O(n*logn)。要弄清楚堆排序,就要先了解下二叉堆这种数据结构。本文不打算完全讲述二叉堆的所有操作,而是着重讲述堆排序中要用到的操作。比如我们建堆的时候可以采用堆
2017-09-16 17:51:44
367
转载 跳石板
链接:https://www.nowcoder.com/questionTerminal/4284c8f466814870bae7799a07d49ec8来源:牛客网小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3.......这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一
2017-09-08 22:03:04
300
转载 二叉树中两个节点的最近公共祖先节点
题目:求二叉树中两个节点的最近公共祖先节点一、该二叉树为搜索二叉树搜索二叉树的特点:任意一个节点的左子树的所有节点值都比该节点的值小,其右子树的所有节点值都比该节点的值大。解决该问题方法:从树的根节点开始和两个节点作比较,如果当前节点的值比两个节点的值都大,则这两个节点的最近公共祖先节点一定在该节点的左子树中,则下一步遍历当前节点的左子树;如果当前节点的
2017-07-17 13:54:09
780
转载 C++ hash_map
0 为什么需要hash_map用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改:岳不群-华山派掌门人,人称君子剑张三丰-武当掌门人,太极拳创始人东方不败-第一高手,葵花宝典...这些信息如果保存下来并不复杂,但是找起来比较麻烦。例如我要找"张三丰"的信息,最傻
2017-06-27 14:20:56
383
转载 C++内联函数
1. 内联函数在C++中我们通常定义以下函数来求两个整数的最大值:复制代码 代码如下:int max(int a, int b){ return a > b ? a : b;}为这么一个小的操作定义一个函数的好处有:① 阅读和理解函数 max 的调用,要比读一条等价的条件表达式并解释它的含义要容易得多② 如果需要做任何修改,修改函数要比找出并修
2017-06-26 10:36:29
313
转载 滥用强制类型转换的缺点
这是C++为什么要引入四个转换符的原因。尽量使用C++风格的类型转换 仔细想想地位卑贱的类型转换功能(cast),其在程序设计中的地位就象goto语句一样令人鄙视。但是它还不是无法令人忍受,因为当在某些紧要的关头,类型转换还是必需的,这时它是一个必需品。 不过C风格的类型转换并不代表所有的类型转换功能。 一来它们过于粗鲁,能允许你在任何类型之间进行转换。不过如
2017-06-23 09:33:50
1833
转载 C++缺省参数函数简介和使用
所谓缺省参数,顾名思义,就是在声明函数的某个参数的时候为之指定一个默认值,在调用该函数的时候如果采用该默认值,你就无须指定该参数。缺省参数使用主要规则:调用时你只能从最后一个参数开始进行省略,换句话说,如果你要省略一个参数,你必须省略它后面所有的参数,即:带缺省值的参数必须放在参数表的最后面。 缺省值必须是常量。显然,这限制了缺省参数的数据类型,例如动态数组和界面类型的缺省参数值只能是 n
2017-06-07 10:23:30
628
转载 Qt::WA_DeleteOnClose造成的野指针问题
今天遇到了一个由Qt::WA_DeleteOnClose造成的野指针问题,在网上搜到的一个求助贴如下(http://bbs.youkuaiyun.com/topics/380182058):主窗口类QMainWindow的头文件里定义了一个QDialog类的指针:QDialog *dialog;现有如下函数语句:
2017-05-27 09:50:14
687
转载 Qt官方开发环境生成的exe发布方式--使用windeployqt
Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行。因此 Qt 官方开发环境里自带了一个工具:windeployqt.exe。以官方 Qt 5.4.0+MinGW 开发环境为例,从开始菜单--》Qt 5.4.0--》5.4--》MinGW 4.9 (32-bit)--》Q
2017-05-22 20:19:51
1396
原创 qt connect Qt::ConnectionType介绍
signal/slot在底层会使用三种方式传递消息。参见QObject::connect()方法:bool QObject::connect ( const QObject * sender, const char * signal, const QObject * receiver, const char * method, Qt::ConnectionType type = Qt::Aut
2017-05-11 20:27:12
402
原创 DBus如何传送和接收数据,包括结构体
原文地址:http://hi.baidu.com/9562512/item/f93cac0be4849cdcdce5b076DBus是进程间通信的工具。网上的资料不太多,大都又是基于GLib或python的。在windows下如果要用纯c/c++语言,似乎只能用原始的DBus库来编写程序。倘若不亲自写写,还真不知道到底是怎样的。DBus的数据都要绑定在消息上:消息: DBusM
2017-05-09 17:03:26
6672
原创 qt的QPushButton样式
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); // setWindowFlags(Qt::FramelessWindowHint); //color 设定前景色,就是字体的颜色
2017-04-13 14:29:44
2224
转载 数据结构和算法面试题
转自:http://hi.baidu.com/geogre_jsj/blog/item/e4b98fd2aab5aa3611df9b92.html由于这些题,实在太火了。所以,应广大网友建议要求,在此把之前已整理公布的前80题, 现在,一次性分享出来。此也算是前80题第一次集体亮相。 此些题,已有上万人,看到或见识到,若私自据为己有,必定为有知之
2017-03-03 12:48:13
633
原创 32位和64位下结构体内存对齐问题
1.先看64位下:#includestruct A{ int a; char b; double c; char d;};struct B{ char a; double b; char c;};int main(){ printf("int =%lu,char=%lu,double=%lu\n"
2017-02-23 15:18:23
740
转载 netstat -i 和ifconfig -s的输出解释
caikelun@debian:~$ netstat -niKernel Interface tableIface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flgeth0 576 0 3383566 0 0 0 3225169 0
2016-11-24 18:30:24
959
转载 命名管道 FIFO(转)
命名管道的概述无名管道,由于没有名字,只能用于亲缘关系的进程间通信(更多详情,请看《无名管道》)。为了克服这个缺点,提出了命名管道(FIFO),也叫有名管道、FIFO 文件。命名管道(FIFO)不同于无名管道之处在于它提供了一个路径名与之关联,以 FIFO 的文件形式存在于文件系统中,这样,即使与 FIFO 的创建进程不存在亲缘关系的进程,只要可以访问该路径
2016-11-16 11:43:44
301
转载 详解wait和waitpid函数
原文地址 >>http://blog.youkuaiyun.com/kevinhg/article/details/7001719#include /* 提供类型pid_t的定义 */#include pid_t wait(int *status)进程一旦调用了wait,就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已经变成僵尸的子进程
2016-11-16 10:36:52
284
原创 Linux的异步IO机制(转)
【同步IO与异步IO】1,其实同步方式很好理解, 例如你调用一个function, 当这个function执行完后, 这个方法实现的功能已经完成。这里往往会跟阻塞混淆,其实是因为你采用了同步方式执行代码, 才阻塞了你的thread或者process. 而不是因为阻塞,才叫同步。异步方式就不提供这种保证, 当你用异步方式调用一个function的时候,这个方法会马上返回,事实上多
2016-11-12 15:01:28
300
原创 进程表项 文件表项 V节点总结
内核使用3钟数据结构表示打开文件,它们之间的关系决定了在文件共享方面一个进程对另一个进程可能产生的影响。 (1)、在每个进程表中都有一个记录项,记录项中包含有一张打开文件描述符表,可将其视察为一个矢量(数组),每个描述符占用一项。与每个文件描述符相关联的是: (a)、文件描述符标志。 (b)、指向一个文件表项的指针。 (2)、内核为所有打开的文件维持
2016-11-09 21:04:48
2522
转载 Linux下syslog日志函数使用
本文转载自--》》http://blog.chinaunix.net/uid-26611973-id-3084012.html许多应用程序需要记录它们的活动。系统程序经常需要向控制台或日志文件写消息。这些消息可能指示错误、警告或是与系统状态有关的一般信息。例如,su程序会把某个用户尝试得到超级用户权限但失败的事实记录下来。通常这些日志信息被记录在系统文件中,而这些系统文
2016-11-07 18:49:44
7796
转载 虚拟地址空间
虚拟地址空间转自--》》 http://msdn.microsoft.com/zh-cn/library/hh439648(v=vs.85).aspx当处理器读或写入内存位置时,它会使用虚拟地址。作为读或写操作的一部分,处理器将虚拟地址转换为物理地址。通过虚拟地址访问内存有以下优势:程序可以使用一系列相邻的虚拟地址来访问物理内存中不相邻的大内存缓冲区。程
2016-11-06 11:37:38
365
原创 任意长的整数加法运算
【问题描述】 设计一个实现任意长的整数进行加法运算的演示程序。【基本要求】系统以菜单提示方式工作;基本功能包括大整数输入、加法运算、大整数输出;利用双向循环链表实现长整数的存储,每个结点含一个整型变量。任何整型变量的范围是-(215-1)~(215-1);输入和输出形式:按中国对于长整数的表示习惯,每四位一组,组间用逗号
2016-11-05 19:47:14
16312
2
原创 关于apue.h头文件的配置
以下方法经本人亲测有效1 、首先先在这个网站上http://www.apuebook.com 下载tar.gz格式的源码包2 、找到压缩包的路径 比如我的压缩包在 /home/myb/Downloads 这个目录下 然后,由于格式是tar.gz,所以先用gzip命令 对压缩包进行解压缩 然后用tar解包,并提取至/home下3 、现在切换root权限 将/
2016-11-05 15:43:02
399
原创 互斥锁 自旋锁 读写锁 递归锁
互斥锁(mutexlock):最常使用于线程同步的锁;标记用来保证在任一时刻,只能有一个线程访问该对象,同一线程多次加锁操作会造成死锁;临界区和互斥量都可用来实现此锁,通常情况下锁操作失败会将该线程睡眠等待锁释放时被唤醒自旋锁(spinlock):同样用来标记只能有一个线程访问该对象,在同一线程多次加锁操作会造成死锁;使用硬件提供的swap指令或test_and_set指令
2016-11-03 19:50:06
309
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人