自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

pamelay的博客

这里不只有技术!

  • 博客(28)
  • 问答 (2)
  • 收藏
  • 关注

原创 linux下Webbench的安装及使用

linux下webbench的安装流程及常见问题          将文件下载到我

2017-08-19 10:45:02 2876

原创 两个队列实现栈

在实现栈转换为队列后,现在可以用两个队列实现一个栈,就是将“先进先出”改为“先进后出”的方式,实现的基本思路是用一个队列保存数据,当储存数据的队列pop到只剩一个数据时,函数pop#include     //两个队列实现一个栈#include#include#includeusing namespace std;templateclass Stack{pu

2017-07-20 16:30:47 229

原创 两个栈实现一个队列

两个栈模拟实现队列

2017-07-20 11:58:19 232

原创 注释转换

将C语言注释转换为C++注释

2017-07-20 11:45:57 306

原创 浅谈守护进程

守护进程:     也叫精灵进程,运行在后台的进程,独立于控制终端并周期性执行某种个任务。脱离终端是为了避免进程在运行过程中信息不会被终端打断,在整各系统关闭时退出。  原理:     守护进程是脱离控制终端的,就会造成在shell中

2017-04-23 18:46:25 293

原创 linux中浅谈信号(一)

信号是一个通知机制,异步产生,因为低层的硬件异常是由内核异常处理程序处理的,用户进程不可见,信号机制向用户通知异常发生,并记录在pcb中用。可以用 kill -l 命令查看,每个信号都有编号和宏定义的名称;1-31 为普通信号,34-64为实时信号。产生方式:1、键盘组合键2、由硬件异常产生信号3、调用kill()函数,默认动作是终止进程信号处理:1、忽略2、执行默认动

2017-03-01 20:58:59 278

原创 linux进程通信之共享内存

共享内存指 在多处理器的计算机系统中,可以被不同CPU访问的大容量内存。由于多个CPU需要快速访问存储器,这样就要对存储器进行缓存(Cache)。任何一个缓存的数据被更新后,由于其他处理器也可能要存取,共享内存就需要立即更新,否则不同的处理器可能用到不同的数据。共享内存是 Unix,linux下的多进程之间的通信方法之一 ,这种方法通常用于一个程序的多进程间通信,实际上多个程序间也可以通过共享

2017-02-17 21:54:57 220

原创 linux进程通信之信号量

信号量     信号量的本质是一种数据操作锁,它本身不具有数据交换的功能,通过控制其他的 通信资源(⽂文件,外部设备)来实现进程间通信,它本⾝身只是⼀一种外部资源的标识。信号量可以理解成一种计数器,表示当前临界资源(在多进程系统中,存在许多进程,它们共享各种资源,然而有很多资源一次只能供一个进程使用。一次仅允许一个进程使用的资源称为临界资源。)的数量,通过个欸临界区加锁,串行访问临界资源,解决

2017-02-16 23:03:43 241

原创 linux进程通信之消息队列

消息队列    消息队列提供了⼀一种从⼀一个进程向另⼀一个进程发送⼀一个数据块的⽅方法。  每个数据块都被认 为是有⼀一个类型,接收者进程接收的数据块可以有不同的类型值

2017-02-16 21:09:35 207

原创 浅谈linux系统下的进程通信之管道pipe

一、浅谈进程通信和管道           谈到进程间通信,就是在数据上不同进程上的共享,让不同的进程看到同一份物理内存。此过程必须通过内核(就是同常意义上的操作系统),在内核中开辟一块缓冲区,把进程1的数据拷入内核的缓冲区,进程2再从内核的缓冲区读取数据,实现进程间通信IPC。        而通过管道进行通信的实质是父进程通过fork()函数创建子进程,子进程获得了父进程的文件描述符的

2017-02-16 18:42:41 412

原创 拉链法处理哈西冲突

上一篇博客介绍了哈希表及处理哈西冲突的一种算法——开放定址法,这篇博客在介绍一下处理哈西冲突的另一种方法——拉链法。就是建立哈希表后,在每个位置下联一条链表,将数据用哈希函数处理后放入相应的链表中。        我个人认为就处理哈希冲突的这两种算法来说各有利弊,因为建立哈希表为了便于查找;使用开放定址法时,当第一次定位没找到时,会向后遍历直到找到或遍历完整个哈希表为止,极端时要遍历整个表

2016-11-07 13:58:59 5495

原创 哈希表的实现

哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(

2016-11-02 10:42:07 266

原创 AVL二叉树

在计算机科学中,AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下都是O(log n)。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。AVL树得名于它的发明者 G.M. Adelson-Velsky 和 E.M. Landis。AVL处理了搜索二叉树的特殊情况。  AVL树中的每个左子树

2016-10-26 21:36:48 660

原创 c++实现搜索二叉树

#include#include#includeusing namespace std;templatestruct BinaryTreeNode{T _key;BinaryTreeNode* left;BinaryTreeNode* right;BinaryTreeNode(const T& x):_key(x),left(NULL),righ

2016-10-18 18:15:00 350

原创 大小堆的建立

#include#include#include#includeusing namespace std;templatestruct Less{bool operator()(T& l,T& r){return l}};templatestruct Great{bool operator()(T& l,T& r){return

2016-10-12 20:22:55 456

原创 线索化二叉树

#include#includeusing namespace std;enum Tag{THREAD,LINK,};templatestruct TreeNode{T _data;TreeNode* _left;TreeNode* _right;Tag _leftTag;Tag _rightTag; TreeNode(const T

2016-10-11 18:34:12 221

原创 非递归遍历二叉树

#include#include#include#include#includeusing namespace std;templatestruct TreeNode{T _data;TreeNode *left;TreeNode *right;TreeNode(const T& t=T()):_data(t),left(NULL),ri

2016-10-11 18:32:30 205

原创 二叉树的递归遍历

#include#include#includeusing namespace std;templatestruct TreeNode{ T _data; TreeNode *left; TreeNode *right;};templateclass Tree{ typedef TreeNode Node;public: Tree()

2016-10-11 18:30:43 316

原创 迷宫问题

#include#include#include#includeconst int N=10;using namespace std;struct Pos{int _row;int _col;Pos(int row=0,int col=0):_row(row),_col(col){}};void InitMaze(int* a){

2016-10-11 18:25:05 189

原创 模拟实现智能指针

首先说一下RAII(资源分配及初始化),定义一个类封装资源的分装和释放,在构造函数中完成资源的分配及初始化,析构函数完成资源的清理,是c++中常用的管理资源,避免内存泄漏。实现了自动释放资源。  智能指针:自动管理指针指向的动态资源的释放。  常见的有STL的auto_ptr,boost库的sharde_ptr,weak_ptr,scoped_ptr等等·····  其区别是auto_

2016-09-07 16:04:23 247

原创 类模板实现顺序表

#includeusing namespace std;templateclass SeqList{public:  SeqList()   :_pdata(NULL),   _sz(0),   _capacity(3){ _pdata=new T[_capacity];}  ~SeqList()  {    if(_pdata!=NUL

2016-09-06 20:51:18 620

原创 由仿函数引出的定制删除器

先简单介绍一下仿函数是什么:仿函数(functor),就是使一个类的使用看上去像一个函数。其实现就是类中实现一个operator(),这个类就有了类似函数的行为,就是一个仿函数类了。  简单定义了一下删除器需要的仿函数#include#include#includeusing namespace std;struct Fclose{   void operato

2016-09-06 20:41:26 245

原创 C++实现顺序表

#includeusing namespace std;typedef int Datatype;class Seqlist{public:    friend ostream& operator Seqlist(Datatype* pdata=NULL)         //构造函数  :_sz(0),  _capacity(0) {   

2016-08-24 23:40:08 609

原创 你对C语言的关键字,知多少

你对C语言的关键字,知多少        学习完C语言后,在想C语言到底有多少个关键字呢?在谭浩强的《C语言程序设计》中,只对部分关键字进行介绍和讲解。看了《C语言深度解剖》后才发现原来C语言的关键字有很多在基础教材中没有出现过,也没有使用过,所以今天做一下简单的整理和介绍。在C语言标准定义中,关键字有32个,分别为:Auto  自动变量,缺省时默认为autoInt 整型Sho

2016-07-26 20:22:10 445

原创 关于约瑟夫问题的那点事

说到约瑟夫,你可能会想起到的是约瑟夫.摩根《吸血鬼日记》里的混血始祖克劳斯......但我们今天要说一说著名的约瑟夫问题。 约瑟夫问题(有时也称为约瑟夫斯置换,是一个出现在计算机科学和数学中的问题。在计算机编程的算法中,类似问题又称为约瑟夫环。又称“丢手绢问题”.)。 约瑟夫问题是个有名的问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。 在此,有

2016-06-12 19:48:26 561

原创 自定义实现strncat函数

一、函数原型  char * strncat(char *dest, const char *str, int n);【参数说明】:dest指向目标字符串,src为指向源字符串。二、库名#include 三、功能把str所指字符串的前n个字符添加到dest所指字符串的结尾处,并覆盖dest所指字符串结尾的'/0',从而实现字符串的连接。四、说明src和dest所指内

2016-04-18 16:41:49 917 1

原创 就面试官的简单问题我们有招!!

使用简单的交换肯地呢满足不了面试官的法眼,他们肯定会问n多种不同的方法实现交换,下面就见到的写俩个·······一:使用函数实现交换功能#include#includevoid Chance(int *x,int *y)//地址传递{int p;p=*x;*x=*y;*y=p;}int main(){int a,b;  printf("请输入两个数:

2016-03-20 19:32:41 243

原创 正式作为程序员的第一天

作为一个大二的学生,结束了繁多的基础课开始了我真正的专业课,才感到作为一个程序员真正的骄傲和快乐。以前迷茫自己将来要干什么,当初为什么选择了这个专业,有时会觉得课多而后悔,现在想想觉得自己还是太年轻······课多是因为网络本来就是一个大的模块,相关的知识太多太多,而大学四年了根本学不完也学不透。学校只能教你最基本的最有代表的知识,剩下的就需要你自己去探索去自学;学校只能培养你自学的能力,自觉学习

2016-03-19 15:12:18 760 1

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除