自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 复杂单链表的复制

复杂单链表的复制(图文详解)

2017-07-04 17:00:59 544

原创 引用_const_指针

一、引用 1.什么是引用       引用不是定义一个新的变量,而是给一个已经定义的变量重新起一个别名。2.定义的格式  类型&引用变量名=已定义过的变量名。3.引用的特点      1)一个变量可以取多个别名。      2)引用必须初始化。      3)引用只能在初始化的时候引用一次,不能改变为再引用其他的变量。int main(){ int a =

2017-07-03 14:28:53 199

原创 c++函数重载的原理

一、什么是函数重载:        函数重载是指在同一作用域内,可以有一组或者多组具有相同函数名,不同参数的函数,这组函数被称为重载函数。        重载函数通常用来命名一组功能相似的函数,这样做减少了函数名的数量及复杂度,避免了名字空间的污染,对于程序的可读性有很大的好处。具体的函数例子:#include using namespace std;int A

2017-07-03 12:09:21 343

原创 shell实现进度条

程序实现: 1 #!/bin/bash 2 3 i=0 4 bar='' 5 lable=( '|' '/' '-' '\\' ) 6 index=0 7 while [ $i -le 100 ] 8 do 9 printf " [%-100s][%d%%][%c]\r" "$bar" "$i" "${lable[$index]}" 10

2017-06-30 16:57:48 258

原创 正则表达式

一、 什么是正则表达式       规定一些特殊语法表示字符类、数量限定符和位置关系,然后用这些特殊语法和沟通字符一起表示一个模式,这就是正则表达式(Regular Expression)。例如email地址的正则表达式可以写成[a-zA-Z0-9_.-]+@[a-zA-Z0-9_.-]+\.[a-zA-Z0-9_.-].            正则表达式中的特殊语法:1、字符类(

2017-06-30 15:48:19 188

转载 路由生产算法调研

一、常见路由表生成算法        路由器使用路由算法来找到到达目的地的最佳路由。当说“最佳路由”时,考虑的参数包括诸如跳跃数(分组数据包在网络中从一个路由器或中间节点到另外的节点的行程)、延时以及分组数据包传输通信耗时。关于路由器如何收集网络的结构信息以及对之进行分析来确定最佳路由,有两种主要的路由算法:       总体式路由算法和分散式路由算法。       采用分散式路由算法

2017-06-28 15:31:21 284

转载 eval和``及$()

eval语法:eval cmdLineeval会对后面的cmdLine进行两遍扫描,如果第一遍扫描后,cmdLine是个普通命令,则执行此命令;如果cmdLine中含有变量的间接引用,则保证间接引用的语义。 举例如下:set 11 22 33 44如果要输出最近一个参数,即44,可以使用如下命令:echo $4但是如果我们不知道有几个参数的时候,要输出最后一个参

2017-06-28 15:16:11 211

原创 单链表全集简化

单向链表全集

2017-06-27 21:07:49 141

原创 快速排序详解

快速排序

2017-06-22 16:26:59 276

转载 死锁

一、什么是死锁        如果一组进程中的每一个进程都在等待仅由该组进程中的其他进程才能引发的事件,那么该组进程是死锁的。        死锁的常见表现:        死锁不仅会发生多个进程中,也会发生在一个进程中。    (1)多进程死锁:有进程A,进程B,进程A拥有资源1,需要请求正在被进程B占有的资源2。而进程B拥有资源2,请求正在被进程A战友的资源1。两个进程

2017-06-21 18:42:19 243

原创 c实现无头结点单链表

头文件#ifndef __LINKLIST_H__#define __LINKLIST_H__#include #include #include #include typedef int DataType;typedef struct Node{ DataType _data; struct Node* _next;}Node,*pNode,*pList;

2017-06-21 18:29:47 580

原创 端口/URG&PSH/TCP定时器/TCP的三次握手及四次挥手

一、网络端口 有效端口个数 在进行各个主机之间进行通信的时候我们需要将某些数据进程传输,这个时候就需要将数据传入到某一个特定的主机,即使用TCP/IP协议,IP地址可以用来标识唯一的一台主机,端口号用来标识目标主机上唯一的一个网络进程,IP地址+端口号拼接在一起形成套接字就可以标识互联网中的唯一进程。 一共有65535个端口,其中0–1023是系统保留的,1024–65535是供用户使用的。0到1

2017-06-19 16:48:53 258

原创 NAT技术与代理服务器

NAT是什么:网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。NAT基本工作原理:N

2017-06-18 21:53:29 199

原创 CRC校验

循环冗余校验码(CRC)的基本原理:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码也叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的生成多项式。 校验码的具体生成过程为:假设发送信息用信息多项式C(X)表示,将C(x)左移R位,则可表示成C(x)*x的R次方

2017-06-18 20:07:11 202

原创 指针数组及数组指针

指针和数组指针:一个基本的数据类型加上“*”就构成了一个指针类型的模子。这个模子的大小是一定的,与“*”前面的数据类型无关,只与你在哪个操作系统下操作有关(例如在32位心系统下,不管是什么样的指针类型,其大小都为4byte)。“*”前面的数据类型只是说明指针所指向的内存里存储的数据类型。       指针和数组的关系       首先指针和数组之间没有任何的关系指针就是指针

2017-06-15 18:46:46 195

原创 信号屏蔽pending

信号屏蔽的三种状态:        信号在内核中的表示:有递达、未决和阻塞        实际执行信号的处理动作称为信号递达(Delivery),信号从产生到递达之间的状态称为信号未决(Pending)。进程可以选择阻塞(Block)某个信号。被阻塞的信号产生时将保持在未决状态,直到进程解除对此信号的阻塞,才执行递达动作。但要注意的是,阻塞和忽略是不同的,只要信号被阻塞就不会递达,而忽略是

2017-06-14 19:21:57 249

原创 线程安全和可重入函数

一、线程安全及如何避免线程的概念:        由我们已知的知识,main函数和信号处理函数是同一个进程地址空间中的多个控制流程,多线程也是如此,但是比信号处理函数更加灵活,信号处理函数的控制流程只是在信号递达时产生,在处理完信号之后就结束,而多线程的控制流程可以长期并存,操作系统会在个线程之间调度和切换就像在多进程之间切换和调度一样。由于同一进程的多个线程共享一个地址空间,因此Text

2017-06-14 19:17:24 221

原创 子进程的异步等待方式

一、子进程退出时会给父进程发送信号    默认的父进程对子进程的操作是忽略,而子进程退出时会向父进程发送一个信号,我们现在要做的就是捕捉子进程退出时向父进程发送的信号。代码如下:  1 #include   2 #include   3 #include   4 #include   5 #include   6 #include   7   8 void

2017-06-13 22:46:40 217

空空如也

空空如也

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

TA关注的人

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