- 博客(25)
- 资源 (1)
- 收藏
- 关注
原创 C++单例模式和智能指针
C++单例模式和智能指针https://www.cnblogs.com/sunchaothu/p/10389842.htmlhttps://blog.csdn.net/Vicky_Cr/article/details/106299723智能指针https://www.zhihu.com/question/23403567
2021-09-25 15:19:10 355
转载 互斥锁和条件变量
由于工作站软件的移植牵涉到这方面的内容, 搜一最近一直在学习Linux线程方面的知识!由于这本书上没有将条件变量的问题,所以不能理解的一个函数就是pthread_cond_wait(). 今天终于有点明白了,赶快记下心得! 条件变量的结构为pthread_cond_t,函数pthread_cond_init()被用来初始化一个条件变量。它的原型为: extern int
2015-08-21 10:22:23 527
转载 常见数据结构list template
#includeusing namespace std;template struct Node{ Node(T& d):c(d),next(0),pref(0){} T c; Node *next,*pref; }; templateclass List{ Node *first,*last;publ
2015-08-21 09:16:03 800
转载 有1,2...一直到n的无序数组,求排序算法,并且要求时间复杂度为O(n),时间复杂度为O(1)
提示:用数组值作为下标 分析: 对于一般数组的排序显然 O(n) 是无法完成的。 既然题目这样要求,肯定原先的数组有一定的规律,让人们去寻找一种机会。例如:原始数组: a = [ 10, 6,9, 5,2, 8,4,7,1,3 ] 如果把它们从小到大排序且应该是 b
2015-08-17 11:14:31 1693
转载 数据结构的C实现_循环队列
队列的操作特点是“先进先出”。前者主要是头指针、尾指针的使用,后者主要是理解循环队列提出的原因及其特点。两者都要掌握队列空与满的判定条件以及出队列、入队列操作的实现。//循环队列#include #include #define OK 1#define ERROR 0#define OVERFLOW -2#define MAXSIZE 10//循环队列的最大
2014-03-24 22:00:30 716
转载 哈希表实现
#include #include #include typedef struct _struct_hash_key{ unsigned int uiIp; unsigned int uiTeid;} struct_hash_key;typedef struct _struct_hash_node{ struct _struct_hash_node *ps
2014-03-24 17:51:30 689
转载 把Win7中的默认宋体改换成XP的宋体
Windows7的默认字体虽然是微软雅黑,但是很多情况下还是要用到宋体。然而Win7自带的宋体改变较大,看起来有点发胀的感觉,没有XP中的宋体紧凑。我们可以提供替换Win7自带的宋体为XP宋体,来解决这个问题。这里介绍一种较为简单的方法,不需要把自带宋体替换,只需要在注册表中把默认宋体的文件名改为XP宋体即可。1、下载XP的宋体文件,并改名为“simsun_xp.ttc”。下载地址:X
2014-03-14 01:04:34 3536
转载 linux锁的介绍
锁的类型互斥量(Mutex) 互斥量是实现最简单的锁类型。如果在释放操作执行前发生定时器超时,则互斥量也会释放代码块或共享存储区供其他线程访问。当有异常发生时,可使用try-finally语句来确保互斥量被释放。定时器状态或try-finally语句的使用可以避免产生死锁。对互斥量进行加锁以后,其他试图再次对互斥量枷锁的线程将会被阻塞,知道当前线程释放该互斥锁。在多线程的情况
2014-03-11 20:00:17 810
转载 win7或者xp自动拨号
在网上找的方法,我已经设置成功,方法如下#######################################################@echo offmode con: cols=50 lines=10title 拨号连接echo 正在拨号到Internet,稍后......echo ====================================
2012-07-14 10:37:41 580
转载 memcpy源码
void * memcpy1(void *dest, const void *src, size_t n){ assert(dest!=NULL&&src!=NULL); //有效性检测 if(dest == src) return dest; else if(dest {
2012-07-12 14:27:02 968
转载 常见字符串面试问题
原文来自:http://blog.sina.com.cn/s/blog_6d041c110100mmc3.html看的时候发现,有的算法很有技巧性,于是自己就添加了注释,希望我下次看的时候能有收获!1)写出在母串中查找子串出现次数的代码.int count1(char* str,char* s){ char* s1; char* s2; int cou
2012-07-11 18:08:38 1026
转载 编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推。
#include #include #include #include #include //#define DEBUG 1#define NUM 3int n=0;pthread_mutex_t mylock=PTHREAD_MUTEX_INITIALIZER;//互斥量pthread_cond_t qready=PTHREAD_COND_INITIALI
2012-07-10 18:04:43 3448
原创 实现删除嵌套的注释
实现删除嵌套的注释。每次从键盘上读取三行字符串。若发现存在嵌套的情况,即在注释内又存在的/*或*/,就把这/*或*/删除,注释外的部分保留。/与*优先级是左结合,即当前出现/*/时,优先删除/*。 例如:输入:/*1234*/abc/****//****/def123/**/*****/*******/xxx输出:/*1234*/abc/****//****/d
2012-07-05 11:17:28 1640
转载 数据结构课程设计——迷宫问题课程设计报告
上学时没学过数据结构和算法,于是现在有机会就自学。下面是我最近在等待进入项目组期间,花了1小时学习了一下迷宫问题。下面是我学习时找到的一篇课程设计的报告,然后自己先看懂,然后又在VC6.0下运行了。迷宫问题一.需求设计:以一个m*m 的方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口的通道,或得出没有通路的结论。二.概要设计:存储结构:
2012-07-03 16:42:50 32733
转载 STL中map的用法详解
Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有
2012-06-28 10:43:17 541
原创 windbg的使用
自己打算学习windbg,可是学习的过程中发现需要的资料都很凌乱,于是我就边学习边把自己收集的资料整理了一下,希望对初学者有用。一 windbg介绍 windbg是在windows平台下,强大的用户态和内核态调试工具。相比较于Visual Studio,它是一个轻量级的调试工具,所谓轻量级指的是它的安装文件大小较小,但是其调试功能,却比VS更为强大。它的另外一个用途是可以用来分析du
2012-06-26 10:59:01 1571
原创 面试题:用栈实现计算器
四则运算:现在需要你实现一个能包含加、减、乘、除,能处理括号运算的计算器,请描述你的实现思路,必要时可使用流程图、UML图或者伪代码。----------------------------------------------------------------从别处拷来的代码,但是可以运行,我自己也吃透了,所以分享出来。先来点基础知识回顾。前缀表达式:前缀表达式就是不含括号的
2012-06-21 14:45:42 3680
原创 面试题,将we替换为you,将you替换为we
第一次用vc做面试题,原题如下:文件评审Michel需要评审一份文件,但是却有另一件紧急的事情要处理,于是请好友Jack帮忙评审一下。当Michel看到Jack评审结果后,发现一个问题,Jack是以第一人称评审的,现有Michel需要将Jack评审中第一人称(we)和第二人称(you)进行置换(you换成we,we换成you),并要求在句首的单词首字母大写。现在需要请你帮忙完成这个工作。
2012-06-21 14:31:19 1939
转载 一个进程 fork 多个子进程
原文地址:http://www.cnblogs.com/junli/archive/2011/07/07/2099725.html今天要做这么一件事情,一个主进程fork出N个子进程,然后主进程用roundrobin的策略通知各个子进程, 每通知一次,对应子进程就产生一个线程,去做一件事情。为啥要搞这么麻烦呢,主要是为了防止高并发的情况。其实用线程池应该可以搞定的,不过时间比较赶,能力不济
2012-03-20 11:17:01 1797
转载 linux中fork同时创建多个子进程的方法(二)
原文地址:http://www.cnblogs.com/hanyan225/archive/2011/07/22/2113606.html 怎么创建多个进程呢?我说那还不容易,看下边代码://省略必要头文件 int main() { pid_t pid[2]; int i; printf("This is %d\n",getpid());
2012-03-20 10:46:17 3775
转载 linux中fork同时创建多个子进程的方法(一)
Fork同时创建多个子进程方法 第一种方法:验证通过 特点:同时创建多个子进程,每个子进程可以执行不同的任务,程序 可读性较好,便于分析,易扩展为多个子进程 int main(void) { printf("before fork(), pid = %d\n", getpid()); pid_t p1 = fork(); if( p1 == 0 ){
2012-03-20 10:41:55 9007
转载 安装Grub到U盘
安装Grub到U盘U盘启动器:目的:安装grub到u盘,用u盘来维护系统条件:1、电脑设为从USB设备启动。 2、要有一个Linux系统来安装Grub. 3、当然这个U盘要为此次行动做出牺牲。(呵呵,赶紧将重要资料转移吧~~)实施步骤:1、插入U盘,fdisk查看是否检测到U盘。 [star@localhost ~]$ sudo f
2012-02-12 11:38:23 4417
转载 vi中常用的编辑命令
文本编辑器是所有计算机系统中最常用的一种工具。UNIX下的编辑器有ex,sed和vi等,其中,使用最为广泛的是vi,而vi命令繁多,论坛里好像这方面的总结不多,以下稍做总结,以资共享!渴望更正和补充!进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打
2011-12-16 14:55:57 582
转载 vi中常用的替换命令
本文关键词:linux命令 Linux linux vi命令 vi/vim 中可以使用 :s 命令来替换字符串。以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询。 :s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行所有 vivian 为
2011-12-15 09:04:22 657
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人