自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Xiao__Tian__的博客

“书山有路&学海无涯”

  • 博客(37)
  • 收藏
  • 关注

原创 基于TCP协议的网络通信(socket编程)

详细剖析基于TCP协议的套接字编程,实现网络进程间的数据通信。从零开始,步步攀升;交流学习,共同进步...如有错误,还望指点。

2016-07-28 03:40:06 5715

原创 逐步深入TCP/IP协议栈

史上最全TCP/IP协议栈详解,如有错误,还望指点。交流学习,共同进步......

2016-07-24 02:11:06 3539 3

原创 网络基础之OSI、TCP/IP的详解

网络基础之TCP/IP与OSI模型详解,一切从零开始,直到掌握为止,一步一脚印。互相交流,共同进步.....

2016-07-21 21:09:29 1422

原创 深层次认知单例模式(Singleton)

细谈单例模式,从浅显到深入,玩转单例从这里开始.......交流学习,共同进步。如有错误,望不吝指正。

2016-07-18 01:52:12 1021

原创 进程间通信(IPC)之共享内存

漫谈进程间通信(IPC)之共享内存,进程通信家族中不可或缺的一员。交流学习,共同进步。

2016-07-12 02:32:08 3384

原创 进程间通信(IPC)之信号量

史上最全面剖析进程间通信下的信号量机制,细谈信号量,从基础学起,逐步深入。欢迎各位博友来访,交流学习,共同进步.....

2016-07-10 00:54:06 3063

原创 进程间通信(IPC)之消息队列

漫谈进程间通信之消息队列,进程通信家族中不可或缺的一员。交流学习,共同进步。

2016-07-07 01:24:58 6472 1

原创 进程间通信(IPC)之管道家族

史上最全面剖析进程间通信下的管道,细谈管道,从基础学起,逐步深入。欢迎各位博友来访,交流学习,共同进步.....

2016-07-04 22:25:10 4708

原创 队列的实现

问题描述:       面试或笔试时,常常会遇到自主实现一个队列,以实现队列的进出,判空和满等的相关操作,虽然实现难度较为简单,但却也算得上一个热门题型,主要考察学生有效时间内对于简单队列的设计是否考虑周全以及成员函数的实现以及参数和函数返回值等细节问题。#includeusing namespace std;template struct Node

2016-07-03 13:36:49 660

原创 C++之引用的详解

详细剖析c++中的引用,消除心中久疑虑,拨开云雾见天明。交流学习,共同进步。

2016-07-03 12:46:04 63885 13

原创 初识C++

C++语言的诞生:        1982年,美国AT&T公司贝尔实验室的Bjarne Stroustrup博士在c语言的基础上引入并扩充了面向对象的概念,发明了—种新的程序语言。为了表达该语言与c语言的渊源关系,它被命名为c++。此后C++语言历经了不断地完善,例如1990年c++语言引入模板和异常处理的概念,1993年引入运行时类型识别(RTTI)和名字空间(Name Space)的概

2016-07-03 11:44:10 1678

原创 单链表习题集锦

单链表常见题型汇总 ------(笔试&面试)之不容小觑的单链表

2016-06-23 18:30:52 2808

原创 Huffman编码之文件的解/压缩

史上最具人性化的文件压缩详述,基于Huffman算法的文件压缩项目,还在为找练习项目而苦恼?还在为Huffman算法困惑?还在为文件压缩一头雾水?来吧,,,一起学习,共同进步.....

2016-06-16 00:00:25 8722 3

原创 面试热点之数组

数组的知识小点在这里就不一一赘述了,仅列举几道常见的考察数组特性的笔试题/面试题。

2016-06-13 20:55:15 1863

原创 C++中的单例模式

★在设计或开发中,有时会遇到一个类只能有一个对象被创建,如果有多个对象的话,可能会导致状态的混乱和不一致的情形,其实对于了解设计模式的人来说一眼能看出这是单例模式的应用场景,但是对于不了解设计模式的人来说,要实现它也并非多难,但是如果在面试中被问到这里时,就不仅仅是写得出写不出的问题了,写出来只能说是比写不出的人优秀一些,但并不意味着能通过,因为面试官往往期待的是精简易懂,鲁棒性高的代码,何况这23种常见设计模式中,只有单例模式(Singleton)是唯一一个能用简短的几十行代码完整实现的,所以其难度虽小却

2016-06-11 22:42:32 937

原创 Linux环境之进程调度算法

基础学习篇之--------《操作系统中的进程调度算法归总以及Linux中的进程调度》

2016-06-10 14:22:41 2886

原创 常见的排序算法

排序算法可谓数据结构模块中的重中之重,常见的哈希表,二叉树,搜索树/平衡树,位图等数据结构只是处理实际问题的抽象方法,实际在处理接受或生成的数据集时,排序算法显得尤其重要,排序算法家族很庞大,其中包括了冒泡排序,选择排序,插入排序,堆排序,快速排序,归并排序,基数排序,计数排序,希尔排序,箱排序,树型排序等众多算法,每种排序都有各自的特性,没有好坏之分,只有在特定的场景使用合适的排序算法才是上策,单纯的来比显得太过绝对,没有可比性。因为实际需求及各方面条件的限制使得排序算法的可选范围往往只缩小到某一种或某几

2016-06-07 01:55:34 9597 17

原创 顺序表(Seqlist)&链表(List)的基础操作

顺序表和链表是数据结构的基础结构之一,同样也是面试的基础。初学者对于Seqlist和List的增删改查的基础练习,为其后的Tree,HashTable,Binary Linked List,Trigeminal linked list等数据结构打下坚实的基础。

2016-06-05 00:05:14 17406

原创 task_structde(PCB)的结构剖析

进程是处于执行期的程序以及它所管理的资源(如打开的文件、挂起的信号、进程状态、地址空间等等)的总称。注意,程序并不是进程,实际上两个或多个进程不仅有可能执行同一程序,而且还有可能共享地址空间等资源。每一个进程都有一个进程描述符,具体是task_struct结构体存储相关的信息,task_struct就是我们通常所说的PCB(进程控制块,控制进程的唯一手段)。

2016-06-01 11:47:18 2696

原创 Linux下实现进度条小程序

无论下载,解压缩,复制等情况时,我们总能看到进度条这种东西。进度条以图片形式的可视化窗口直观的显示出计算机处理当前任务的速度,完成度,剩余完成的任务量,以及需要的时间等信息,所以在此我们可以自主实现一个简易的进度条小程序,在centos环境下的linux系统下编写,我们会用到ctags指令以及makefile文件,所以在此之前要确定当前系统已成功安装ctags。

2016-06-01 01:46:44 3019

原创 vim简介及配置

Vim的前身为vi(visual editor)编辑器,Vi编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,Vi是效率很高的文本编辑器。尽管在Linux上也有很多图形界面的编辑器可用,但Vi在系统和服务管理中的功能是那些图形编辑器所无法比拟的。它在Linux上的地位就像Edit程序在DOS上一样。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的。Vim在Vi的基础上改进和增加了很多特性,例如:多缓

2016-05-27 16:17:40 1511

原创 Linux下的find命令

Linux操作系统的学习其基础则为熟悉使用各种基础的操作命令,命令虽然很多,但对于初学者来说,掌握的常见命令却为数不多。例如:文件操作命令(file,mkdir,grep,diff,find,cat,ls等),系统安全命令(passwd,who,su,chomd,chown,umask等),系统管理命令(kill,top,free,at等),网络操作命令(ifconfig,ip,ping,ftp等),还有一些其他的常用命令(man,tar,unzip,gunzip等),主要就是这几个板块,其中隶属于文件操作

2016-05-19 19:16:21 1563

原创 二叉树的遍历方式总结

问题描述;当我们创建了一个二叉树的结构时,对于该树的遍历方式有好几种方式,我们有时会在笔试或面试中碰到诸如要求写出某一种或某几种二叉树的遍历方式的函数,在此将二叉树的比那里方式予以总结,对于前序,中序,后序这三种方式也存在递归和非递归的形式,而层序遍历方式以非递归的方式予以实现,至于还有何其他的方式在此不做讨论研究,因为笔者能力有限,也只会这几种。熟知这几种已足矣,求广益求精。。。

2016-04-29 00:15:55 1123

原创 菱形图案的输出

问题描述:利用for循环的嵌套输出相应的菱形图案。#includeusing namespace std;void Transform(int i,int num){ for (int j = 0; j <= (num - 1) / 2 - i; j++)//空格的输出控制 cout << " "; for (int k = 0; k < 2 * i + 1; k+

2016-04-28 23:40:31 1566

原创 二叉树的创建及其基础操作

问题描述:二叉树这部分的知识可谓是数据结构的重中之重,相关方面的知识点还是蛮多的,虽然有些知识点确实是难度颇高,但是其大部分的知识点还是能简单一些的,,所以在笔试面试中我们多多少少能遇见二叉树的相关题型,可以说二叉树以及其相关拓展的知识点玩儿6了,数据结构至少一半的知识已收入囊中了。笔试面试中经常会遇到让你写出某个或某些二叉树中的成员函数,例如:节点的遍历顺序(前序,中序,后序,层序),怎

2016-04-28 21:40:06 866

原创 字符串的反转

问题描述:字符串反转类型的题目可谓是经典热门题型之一,其主要考察反转的方法以及指针的移动操作。例如输入:“I am a student”。输出:“student a am I”。抓住其反转的基本思路,此题就显得再简单不过了,可以先将字符串整体反转,然后再将各单词局部反转,就可得到预期的结果。#include#includeusing namespace std;c

2016-04-19 21:35:05 787

原创 迷宫问题(栈的应用)

问题描述:    以M*N的矩阵表示迷宫图,数字0代表通路,数字1代表障碍。对于走过的路径,将数字0替换为数字2,便于查看通路路径。计算机解迷宫通常用的是“穷举求解”方法,即从入口出发,顺着某一个方向进行探索,若能走通,则继续往前进;否则沿着原路退回(回溯),换一个方向继续探索,直至出口位置,求得一条通路。注:对于迷宫的矩阵,我们不必每次从cmd端输入,可在文档中以txt的形式定义

2016-04-13 12:13:36 1147

原创 两个栈实现一个队列

问题描述:借助两个栈实现一个队列的基础功能,也是笔试面试中的热门题型之一,最常想到的方法莫过于分别创建两个栈s1和s2,s1用来存放入队元素,s2用来弹出出队元素。其过程大致为:对于最先想到的方法,翻来覆去的倒的这种算法,多多少少是有优化的地方的。比如:可设置一个计数器count用于显示当前栈中的元素个数,因为其s1倒入s2中时,可将s1的最后一个元素直接弹出,这样的做法减

2016-04-12 14:08:17 815

原创 栈的实现(栈的基础操作)

问题描述:面试或笔试时,常常会遇到自主实现一个栈,以实现进出栈,判空和满等的相关操作,虽然实现难度较为简单,但却也算得上一个热门题型,主要考察学生有效时间内对于简单栈的设计是否考虑周全以及成员函数的实现以及参数和函数返回值等细节问题。#includeusing namespace std;const int Max_size = 100;class Stack{publi

2016-04-11 21:39:47 1002

原创 出栈序列的合法性

问题描述:对于一个进栈序列其出栈序列存在多种合法的可能情况。例如:入栈序列为1,2,3,4,5时,而对于出栈序列5,4,3,2,1、1,3,2,5,4、3,5,4,2,1等等这些都是一个合法的出栈序列,但是对于3,5,2,4,1、5,3,4,2,1等这种出栈序列则是非法的序列,因为其违背了栈的特性(先进后出或者后进先出)。★对于1,2,3,4,5这样的进栈序列,我们最常想到的出

2016-04-10 10:51:51 8111

原创 C语言小知识

1.C语言中如何引用一个已经定义的全局变量?Answer:①引用头文件的方式;②引用extern关键字。注:※⑴如果引用头文件方式引用某个在头文件中声明的全局变量,在写入头文件名称时若出现错误书写,那么在编译期间则会报错。  ※⑵如果引用extern关键字,如果将名称写错,则在编译期间不会报错,而在连接时报错。2.全局变量可以定义

2016-04-04 15:32:28 1233

原创 什么是指针?

◆指针可以称得上是C语言的灵魂,正因为有了指针这一强大的功能,让C语言操作的灵活度能够达到一个更高的层次,同时使得C语言在各类编程语言中拥有不可取缔的地位。初学时感到C语言中的指针的相关知识点很繁琐,也很绕,进而许多概念极易混淆,特此整理指针的初级相关知识点。1. ★指针的概念地址与指针?地址:C程序中的变量在占有一个可标识的存储区,每一个存储区是由若干字节组成

2016-04-04 15:26:40 1049

原创 复数类的四则运算

问题描述:    创建一个Plural(复数)的class类,不借助系统的默认成员函数,在类体中写入构造函数,析构函数,拷贝复制函数以及运算符重载函数。并依次实现复数的大小比较(bool)和复数的四则运算(+,-,*,/)。#includeusing namespace std;class Plural //构建复数类{public: voi

2016-04-04 15:12:49 1991

原创 C语言经典小程序(热门题型)

摘要:提及C语言,许多人都觉得不难。但是在笔试或者面试时,总会在一些不经意的小程序或简单功能的函数难住,所以说C语言虽然没有Cplusplus的深度,但其广度丝毫不亚于C++,对于面向过程的高级语言来说,C语言的细枝末节可谓浪里淘沙,在此总结列举少许较为常见的。★1.求两个数的平均值(不能使用(a+b)/2的方式)int Average(int x, int y){ retur

2016-03-30 20:53:18 1199

原创 C语言中几种常见的内存操作函数(非调用)

问题描述:在C语言标准所提供的库函数中,有关于三个常见的关于内存操作的函数:memcpy(内存拷贝),memmove(内存移动,亦可实现内存拷贝)和memset(内存块数据的初始化)。memcpy函数存在局限性,因为其移动拷贝的方式为从前向后逐一拷贝,若原串与目标串处于同一存储空间,且两串存在重叠部分,那么移动时会出现数据覆盖问题,而memmove函数则解决了这一问题,分为从前向后与从后向前两种方

2016-03-30 16:17:58 4013

原创 C语言之常用字符串处理函数(非调用)

描述:C语言中对于字符串类型并未定义,但存在许多有关字符串的库函数(如:strstr(在原串中匹配子串),strcpy(将原串内容拷贝到目标串中),strcmp(比较两个字符串的内容),strcat(连接两个字符串,亦为字符串的追加),strlen(求取字符串的长度)....),我们可以自己编写程序实现以上功能的函数,而不调用库函数,,,再对照库函数进行学习,有利于提高自身的编程能力。本文章中对于

2016-03-30 16:12:30 1031

原创 深浅拷贝问题

问题描述:深浅拷贝可谓炙手可热的经典题型之一,是许多公司面试中喜欢提及的问题,对于一般的对象例如:int a=10; int b=20;直接赋值和复制没有什么问题,但是当对象上升为类对象时,其类的内部可能存在各种类型的成员变量,在拷贝过程中就存在了深浅拷贝这一问题。#define _CRT_SECURE_NO_WARNINGS#include#includeusing

2016-03-16 17:05:26 957

空空如也

空空如也

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

TA关注的人

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