自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 GET和POST的区别

转自:http://www.cnblogs.com/hyddd/Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一

2016-08-10 22:56:36 342

原创 select、poll、epoll的区别

select实现select的调用过程如下所示:(1)使用copy_from_user从用户空间拷贝fd_set到内核空间(2)注册回调函数__pollwait(3)遍历所有fd,调用其对应的poll方法(对于socket,这个poll方法是sock_poll,sock_poll根据情况会调用到tcp_poll,udp_poll或者datagram_poll

2016-08-10 22:52:10 475

转载 http协议详解

转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspxAuthor :Jeffrey引言HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HT

2016-08-10 22:43:41 329

原创 关于shell脚本

首先介绍最基本的啦: shell脚本中用#表示注释,相当于C语言中的//注释,但如果#位于第一行,则表示脚本使用后面指定的解释器/bin/bash解释执行shell脚本的执行方式:(现有一个shell脚本test.sh)(1)chmod u+x test.sh     ./test.sh(2)bash test.shshell脚本是文本文件,并不能被计算机直接识别,

2016-08-09 17:47:16 550

原创 简单用tcp实现一个client和sever间通信

********************************最终效果********************************telnet+ip+端口号ip用ifconfig命令查看端口号:当运行起sever程序,在另一个终端输入netstat -nltp就可查看到sever相对应的ip和端口号**********************************c

2016-08-02 17:25:47 860

原创 剑指0ffer面试题3:二维数组中的查找

//*******************************二维数组中查找一个数**********************************//题目要求:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的//          顺序排序,请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数//          找到则返

2016-07-21 12:32:30 535

转载 IP分片原理&分析

分片是分组交换的思想体现,也是IP 协议解决的两个主要问题之一。在IP 协议中的分片算法主要解决异种网最大传输单元(MTU) 的不同. 但是分组在传输过程中不断地分片和重组会带来很大的工作量还会增加一些不安全的因素。什么是IP分片    IP分片是网络上传输IP报文的一种技术手段。IP协议在传输数据包时,将数据报文分为若干分片进行传输,并在目标系统中进行重组。这一过程称为分片( fra

2016-07-20 19:11:55 3931

原创 守护进程 & 创建守护进程 & fork一次和fork两次的区别

我们先来了解一下什么是守护进程?守护进程也称精灵进程(Daemon),是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是生存期长的一种进程。它们常常在系统引导装入时启动,仅在系统关闭时才终止。因为它们没有控制终端,所以说它们是在后台运行的。守护进程的特点:(1)Linux系统启动时会启动很多系统服务进程,守护进程没有控制

2016-07-20 14:09:15 6237 3

原创 进程组 & 作业 & 会话 & 查看终端设备

进程组 & 作业 & 会话 & 查看终端设备

2016-07-19 16:36:15 430

原创 生产者消费者 & 读者写者

消费者生产者 读者写者

2016-07-17 20:50:51 1480 1

原创 Linux:死锁的产生的场景&如何避免死锁&死锁产生的必要条件

既然我们要研究死锁,那就得先知道死锁产生的原因?死锁产生的原因:(1)因为系统的资源不足,不能满足进程的资源请求,会导致多个线程同时争夺一个资源(2)进程运行推进的顺序不合适(3)资源分配不当,和第一个一样,有的进程分配的资源太少,会因为争夺资源而陷入死锁死锁产生的场景:(1)多个线程:彼此申请对方资源而导致的死锁,A申请B的锁的时候,因为锁被占用所以会把A挂起等待B释

2016-07-16 09:50:05 1109

原创 平衡二叉树:左单旋&右单旋&左右单旋&右左单旋 遇到的问题&解决方法

为什么要引入旋转这一说法呢?因为在建立平衡二叉树,插入二叉树节点的时候,如果发现平衡因子不是-1,0,1的时候就会进行调整,而平衡因子是判断一个二叉树的每层是否平衡的数据在进程调制的时候就会有左单旋,右单旋,左右旋转,右左旋转,通过这四种旋转来使得不管插入多少数据都可以保持平衡二叉树的特点对着四种旋转方式,我们以图的方式来进行理解:(图中的节点标记单词用于理解源代码)

2016-07-06 15:13:03 2933 2

原创 二叉树的中序、先序、后序、层序遍历 & 二叉树的深度 & 节点查找

二叉树的先序、后序、中序、层序遍历&二叉树的深度&节点查找

2016-07-04 16:09:37 469

原创 小项目--迷宫

#define_CRT_SECURE_NO_WARNINGS1#include#include#include#includeusingnamespacestd;voidInitMaze(int*maze,size_tn){                assert(maze);               

2016-07-04 16:01:20 734

原创 不使用库实现队列的基本操作

templatetypenameT>structNode{public:                Node(constT&d)                                :_data(0)                                , _next(NULL)                        

2016-07-04 15:44:13 345

原创 不使用库实现栈的基本操作

templatetypenameT>classStack{public:                Stack()                                :_a(NULL)                                , _size(0)                                , _cap

2016-07-04 15:43:07 296

转载 函数调用中的栈帧问题

函数调用中涉及的栈帧问题

2016-07-04 15:22:51 321

原创 atexit()函数调用注册函数的顺序

atexit()函数调用注册函数的顺序

2016-07-04 14:36:10 1391

转载 操作系统的作业调度和进程调度算法

作业调度:所谓作业调度是指按照某种原则,从后备作业队列中选取作业进入内存,并为作业做好运行前的准备工作以及作业完成后的善后处理工作。设计作业调度算法时应达到如下目标:(1) 某段时间内尽可能运行更多的作业,应该优先考虑短作业。(2) 使处理机保持繁忙,应该优先考虑计算量大的作业,即计算型作业。(3) 使I/O设备保持繁忙,应该优先考虑I/

2016-07-04 12:40:18 4009

原创 管道用于进程通信的实现

管道是如何实现的?(内部是怎么实现的,缓冲区是怎么组织的)

2016-07-03 22:34:23 2969

原创 快速排序的实现--挖坑法

//*********************挖坑法(快排的一种实现方式)************************intPartSort(int*a,intleft,intright){                intkey =a[right];                intbegin =left;     

2016-07-03 21:03:11 1641

原创 快速排序的优化--三数取中法

//*********************三数取中法(快排的优化)****************************//未优化|我们总是把数组尾元素固定为key的值,然后通过调整让key回到它正确的位置//前快排|然后以key为中心,把数组划分为key左边和key右边两个区域,然后继续在左边//的缺陷|和右边划分区域,直到最后区域里没有元素或者只有一个元素的时候,排序结束

2016-07-03 21:00:39 5721 2

原创 快速排序的递归写法

//*****************************快速排序(递归)****************************//递归思想:单趟来说,begin找比key大的,end找比key小的,当各自都找到的时候,//          若begin比end小,则交换两个数据,然后继续找,当再找到的时候,如果//          begin比end大,则比较a[begin

2016-07-03 20:56:34 542

原创 希尔排序

//*****************************希尔排序****************************//思路:把数据分为几组,每组有gap个数据,gap可以是固定的,也可根据//      数组的大小来变动,做法和插入排序一样,只是每次数据后移时要后移//      gap个位置,end--的时候也要移动gap个位置//NOTE:end+gap不能超过数组

2016-07-03 20:54:12 228

原创 Linux环境下写一个进度条

源代码:void prog(){   char prog_buf[102];   memset(prog_buf,'\0',sizeof(prog_buf));   char *sign="|/-\\";    //在进度条推进的时候,光标在以顺时针旋转   int i=0;   for(i=0;i   {     prog_buf[i]='=';

2016-07-01 15:16:33 340 1

原创 Linux中想进入一个目录、 在目录下创建文件、在文件内部删除文件 各需要什么权限?

1.想进入一个目录需要什么权限?首先我们在超级用户下创建一个dir_root目录,并且取消它的所有权限chmod 000 dir_root当我们想进入dir_root目录下的时候,发现就算dir_root对拥有者没有读、写、可执行权限,超级用户依然可以进入目录当我在超级用户下把目录dir_root的拥有者改为普通用户fanny,且目录对拥有者(普通用户)

2016-07-01 12:10:09 9159

转载 各种排序算法的稳定性和时间复杂度小结

选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。 冒泡法:  这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡:  复杂度为O(n*n)。当数据为正序,将不会有交换。复杂度为O(0)。直接插入排序:O(n*n)选择排序:O(n*n)快速排序:平均时间复杂度log2(n)*n,所

2016-06-13 14:42:23 341

原创 选择排序

//*****************************选择排序****************************//NOTE:当无序区间只有一个数时,已排好序voidSelectSort(int*a,size_tsize){                assert(a);                for(intinde

2016-06-12 17:52:46 222

原创 插入排序

思路写的比较少,不太懂的可以看后面的图//************************插入排序****************************//思路:看每个数据的位置十分正确,如要排从小到大的数,则要看它后面的数是否比当前数据大voidInsertSort(int*a,size_tsize){

2016-06-11 20:44:47 238

原创 面试题:给40亿个不重复的无符号整数,没排过序,给一个无符号整数如何快速判断这个数是否在这40亿个数中

//**********************位图***********************//腾讯面试题:// 给40亿个不重复的无符号整数,没排过序,给一个无符号整数如何// 快速判断这个数是否在这40亿个数中//解题思路://(1)直接存进内存//40亿个无符号数,如果放到内存,就需要开辟4*4G=16G的空间,因为数的范围不确定,所以//开辟尽可能大的空间来存放,需42亿9千万×4字

2016-06-11 11:58:02 5387

转载 对堆栈的认识

什么是堆和栈,它们在哪儿?问题描述编程语言书籍中经常解释值类型被创建在栈上,引用类型被创建在堆上,但是并没有本质上解释这堆和栈是什么。我仅有高级语言编程经验,没有看过对此更清晰的解释。我的意思是我理解什么是栈,但是它们到底是什么,在哪儿呢(站在实际的计算机物理内存的角度上看)? 1、在通常情况下由操作系统(OS)和语言的运行时(runtime)控制吗? 2、它们的作用范围是

2016-06-10 11:40:05 267

转载 初识C++之继承

1、何为继承  C++中所谓继承,就是在一个已存在类的基础上创建一个新的类,新类获得已存在类的部分特性(为什么是部分特性,后面会讲到)。已存在类被称为基类(Base Class)或父类(Father Class),新建类被称为派生类(Derived Class)或子类(Son Class)。  继承的声明形式: class 派生类名:[继承方式] 基类列表 {   派生

2016-06-10 11:38:26 244

转载 初识C++之虚函数

1、什么是虚函数   在基类中用virtual关键字修饰,并在一个或多个派生类中被重新定义的成员函数,用法格式为:   virtual 函数返回类型 函数名(参数表)    {     函数体    }    虚函数是实现多态性的关键,通过指向派生类的基类指针或引用,访问派生类中同名覆盖成员函数。    看两个例子: ①没有定义基类的Fun函数为虚函数:#d

2016-06-10 11:35:20 392

原创 C初级阶段练习题目(三)

//***********************21、求一个3*3矩阵对角线元素之和**********************intmain(){                inti, j;                intsum1 = 0;                intsum2 = 0;                i

2016-06-09 20:04:27 320

原创 堆排序

建大堆实现的是从大到小的排序若要从小到大排序,则建小堆//******************堆排序***************************void_AdjustDown(int*a,size_t size,intparent){                intchild =parent* 2 + 1;      

2016-06-05 17:25:05 213

原创 100w个数中找出最大的前k个数

//*******************100w个数中找出最大的前k个数***************************//挨个遍历排序:100w个数太多,内存不够,而且遍历排序效率太低//建大堆:只能选出最大的那个数//可选方案:建K个数的小堆//          首先取这100w个数中的前K个数建立最小堆,即长度为K的数组的首元素为最小的元素//         

2016-06-05 17:19:57 1325 1

原创 建大堆实现优先级队列

建大堆实现优先级队列,优先级为从大到小建小堆实现的优先级队列,优先级为从小到大****************************************************************************************************本文章中写建大堆实现优先级队列//******************************大堆**

2016-06-05 17:15:14 438

原创 查找字符串中第一个出现只出现一次的字符

//*****************查找字符串中第一个出现只出现一次的字符******************//方法一:从头开始扫描这个字符串中的每个字符,当访问到某字符时拿这个字符和后面的每个字符//       相比较,如果在后面没有发现重复的字符,则该字符就是只出现一次的字符,时间复杂度O(n*n)//方法二:利用哈希表存储字符出现的次数,第一次扫描数组时,每碰到一个字符,在

2016-06-05 17:13:53 941

原创 C初级阶段练习题目(二)

//***********11、有1,2,3,4排成三位数,无重复且互不相同**************intmain(){                inti = 0;                intj = 0;                intk = 0;                intcount = 0;

2016-05-30 17:58:12 334

原创 C初级阶段练习题目(一)

以下是最近整理了一下C语言初级阶段写过的题,最近又做了一遍,开始学C语言的童鞋可以看看哈后续一些C语言的题我复习完了也会陆续发上来//*****************1、在屏幕上输出“hello  world”******************intmain(){                printf("hello world\n");

2016-05-28 17:27:30 455

空空如也

空空如也

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

TA关注的人

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