自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Blessing_zf的博客

一个IT小菜的成长史

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

原创 rotate-list将单链表从右数第k个节点以及之后的节点移到链表最前头

题目描述:Given1->2->3->4->5->NULLand k =2, return4->5->1->2->3->NULL. 解题思路:第一步,将链表最后一个节点和头结点相连。 第二步,指针指向从右数第k个节点,用这个指针来确定之后返回的链表。 第三步,断开新的头结点和之前节点之间的联系。 具...

2018-06-11 15:17:48 416

原创 有序单链表转换成二叉平衡搜索树

题目: Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.关键词:有序单链表、二叉平衡搜索树 二叉树搜索:对于所有节点,顺序是:left children <= current node <= right c...

2018-06-11 09:41:25 974

转载 网络--多个进程能否监听同一端口

文章出自jiq•钦’s technical Blog - 季义钦我们都知道socket是网络上两个进程之间的双向通信链路, 即socket = 《A进程的IP地址:端口号,B进程的IP地址:端口号》那么有个问题就很有意思了,不同的进程可以监听在同一个IP地址:端口号么?根据Unix网络编程中的知识可知,服务端监听一个端口会经历:1、根据套接字类型(Ipv4,Ipv6...

2018-04-16 09:15:33 1378

转载 理解select和 I/O多路复用

详细理解selecthttp://www.cnblogs.com/Anker/archive/2013/08/14/3258674.html

2018-04-08 17:32:45 170

原创 进程和线程的比较

进程和线程的比较 ##(侧重线程) 概念:线程是轻量级的进程,进程所有信息对该进程的所有线程都是共享的,包括可执行的程序文本,程序的全局内存和堆内存、栈以及文件描述符; 一切进程至少都有一个执行线程。线程创建进程创建fork函数pid_t fork(void);//**返回值** :子进程中返回0,父进程返回子进程程ID,出错返回-1。fork常用于...

2018-03-16 23:12:38 283

原创 哈希表之开放定址法(闭散列方法)和拉链法

散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。

2017-11-09 16:31:41 1998

原创 linux环境下的重要目录

linux环境下的重要目录 一、/proc目录——虚拟目录,是系统内存的映射。可直接访问这个目录来获取系统信息。proc 文件系统是一个伪的文件系统,就是说它是一个实际上不存在的目录,因而这是一 个非常特殊的目录。它并不存在于某个磁盘上,而是由核心在内存中产生。这个目录用于提 供关于系统的信息。下面说明一些最重要的文件和目录(/proc 文件系统在proc man页中有更详细的说明)。

2017-11-09 15:47:54 330

原创 基本栈和队列 及后续面试题

基本栈和队列栈Stack-------后进先出#pragma once#include#includeusing namespace std;templateclass Stack{public: Stack() :_a(NULL) , _size(0) , _capacity(0) {} ~Stack() { if (_a) { delet

2017-10-06 13:58:55 215

原创 模板函数的分离编译

在介绍分离编译之前,应当先做到对基本的程序编译过程有一定的了解。 下面图文并茂的理解一下这个过程。在这个编译器工作过程中,最主要的是明白:最终的所有的目标文件.o链接起来生成单一的可执行程序的过程. 模板不支持分离编译, 我所理解的是因为函数的定义和声明没有一起放在.h文件中,在链接时,找不到函数的定义,导致程序无法执行。为什么中不到函数的定义,这就又是更深一层的东西,让

2017-09-10 20:10:22 635 1

原创 菱形继承

菱形继承 在谈完单继承模型和多继承模型之后,我们来进一步了解更复杂的继承模型——菱形继承。 菱形继承又叫钻石继承。主要结构如图:菱形继承中含有单继承和多继承。由于class B 和class C都继承了class A中的共有成员_a。那么在class D 多继承时就了存在二义性和数据冗余的问题,虚继承为解决此问题而存在。所以,菱形继承又多出来一种特例——含有虚继承的菱形继

2017-08-03 20:07:36 351

原创 浅谈C++多态&多态对象模型

多态所谓多态,其实就是“多种形态”,C++的多态分为静态多态和动态多态。 1. 静态多态就是重载,因为是在编译期决议确定,所以称为静态多态。 2. 动态多态就是通过继承重写基类的虚函数实现的多态,因为是在运⾏时决议确定,所以称为动态多态。C++中虚函数的主要作⽤——就是实现多态。简单说⽗类的指针/引⽤调⽤重写的虚函数,当⽗类指针/引⽤指向⽗类对象时调⽤的是⽗类的虚函数,指向⼦类对象时调⽤的是⼦类

2017-08-01 16:42:30 511

原创 C++写时拷贝

写时拷贝copy on write**首先什么时候会用到写时拷贝呢? 答:顾名思义修改的时候才拷贝,是为了解决浅拷贝的坑和平衡内存开销大而出的解决方案。

2017-07-25 20:14:44 323

原创 C++动态内存分配

C++动态内存分配一、C语言中动态内存如何分配?在C中,可以调用malloc/calloc/realloc函数向系统申请一块存储空间,使用结束用free函数释放空间,因为申请的空间均在堆上申请,需要手动释放,否则会出现内存泄漏。。二、C++中的动态内存分配C++中提供两种运算符new和delete,使用它们更方便实现内存空间的动态分配。

2017-07-19 14:30:24 805

原创 解析C++中函数重载的实现原理

C++中函数重载一、定义     当两个及两个以上函数共用一个函数名,但是形参个数或者类型不同,编译器根据实参与形参的类型及个数的最佳匹配,自动确定调用那一个函数,这就是函数的重载。换而言之,在同一作用域,一组函数名相同,参数列表不同(个数和类型),返回类型可同,可不同的情况下,编译器根据调用者传入的参数类型和个数可以唯一可以唯一确定调用哪个函数,这也就是函数的重载。

2017-07-04 16:32:22 766

原创 猜数字小游戏

猜数字小游戏,仅供娱乐。#define _CRT_SECURE_NO_WARNINGS#include#include#include#includevoid menu(){ printf("*******************************\n"); printf("***1 play*************0 exit***\n"); printf("*****

2017-04-10 15:35:47 304

翻译 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。

计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。//分子1 分母1...100 分母偶数为负数 100次#define _CRT_SECURE_NO_WARNINGS#include#include#includeint main(){ for (j = 1 ; j double sum = 0.0; int j = 1 ; {

2017-04-06 22:26:52 1180

原创 编写代码模拟三次密码输入的场景。

编写代码模拟三次密码输入的场景。

2017-04-06 22:25:29 385

空空如也

空空如也

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

TA关注的人

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