自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

原创 链表面试题(二)

8. 查找链表的中间节点,要求只能遍历一次链表 使用指针追赶的方法。定义快慢指针,快指针一次走2步,慢指针一次走1步,当快指针走到尾时,慢指针刚好走到一半。 注意当FastNode–>_next==NULL时,表示链表有偶数个节点,其中间节点有两个SListNode* FindMidNode(SListNode* head){ SListNode* ...

2018-08-02 23:53:39 167

原创 链表面试题(一)

从尾到头打印单链表 1)定义end先走到空,通过第一层循环先找到第1个要打印的数,每次找end的前一个数打印。再定义cur,end中的数据打印完后,把cur赋给end,让cur从头走void PrintTailToHead(SListNode* head){ SListNode* end = NULL; while (end != head) { ...

2018-08-02 20:38:12 181

原创 顺序表&链表

1.线性表概念:有n(n >= 0)个数据元素组成的有限序列性质: 1)可以在其任意位置上进行插入和删除操作的线性数据结构 2)线性表中的数据存在一对一的关系,即除第1个元素和最后一个元素外,每个元素都有唯一的直接前驱和后继。而第1个元素没有前驱,最后一个元素没有后继。2.顺序表概念:用一段地址连续的存储单元依次存储数据元素的线性结构模型图: 动态...

2018-07-29 17:06:07 1314

原创 排序算法小结

排序算法小结选择排序、快速排序、希尔排序、堆排序是不稳定的算法 冒泡排序、插入排序、归并排序和基数排序是稳定的算法

2018-07-24 16:03:05 146

原创 排序算法总结

1. 直接插入排序 基本思想: 将一个记录插入到已经 排序好的有序表中,从而得到一个新的,记录数增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直到整个序列有序为止。 示意图: 代码实现:void InsertSort(int *a, size_t n){ //[0,end]是...

2018-07-24 15:40:14 114

原创 基础I/O

一. 练习open/read/write/close等文件相关系统调用接口,纵向对比fd与FILE结构体1. open//头文件#include<stdio.h>#include<stdlib.h>#include<sys/types.h>#include<fcntl.h>//函数原型int open(const cha...

2018-03-26 23:29:10 182

原创 进程

一. 进程1. 进程定义1)进程是程序的一个执行实例,是正在执行的程序。2)进程担当着分配系统资源(CPU时间,内存)的实体。3)进程在内存中执行,是动态的,是程序执行的一个过程。4)从用户角度看,进程是程序的依次动态执行过程;从OS角度看,进程是操作系统分配资源的基本单位,也是最小单位。5)每个进程都有自己的独立地址和执行状态。

2018-03-19 23:11:35 1202

转载 使用命令安装gcc/g++, gdb

首先,在命令行中输入vi查看一下vim的信息: 输入ls -a查看是否存在.vimrc和.viminfo这样的配置文件,结果如下1.配置gcc/g++Centos中使用yum来配置gcc和g++,若要安装gcc,则在命令行中输入:yum -y install gcc,按回车键就能够进行gcc的安装,若要安装g++,则需要在命令行中输入:yum -y install

2018-03-16 21:29:56 1941

原创 yum入门

一. vim配置插件     1. vim配置文件在目录/etc/下,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。  2. 在每个用户的主目录下,都可以建立私有的配置文件,命名为:“.vimrc”。例如:/root目录下,通常已经存在一个.vimrc文件,如果不存在,则自己创建它。  3. 切换用户成为自己执行su,进入自己的主工作目录,执行cd ~

2018-03-16 21:14:25 231

原创 模板的分离编译问题

所谓的分离编译是指将声明和定义分开来写,即将一个函数的声明和定义放在.h和.cpp文件中。 写过模板的人应该都会发现当我们用上面的方式写一个函数的时候,只要在.cpp中包.h的头文件,就没什么问题,但是如果写模板的时候,就编译链接不过去,就如下面这个例子://func.h#includetemplate void func(const T&);//func.cpp#includ

2017-10-15 14:17:51 161

原创 数据结构之vector&list

一. vector & list的使用和区别     STL(标准模板库)是一个C++的软件库,也是C++标准程序库的一部分。vector和list相当于容器,这些容器应该都是STL里面的一个类。而vector封装数组,list封装链表。     vector如代码:#includevectora(10);//类型为int,数量为10a[1] = { 1 };//第二个元素

2017-10-15 13:31:24 328

转载 智能指针

一. 智能指针的发展历史     1. RAII(Resource Acquisition Is Initialization)          构造函数资源分配即初始化,定义一个类来封装资源的分配和释放,在构造函数完成资源的分配和初始化,在析构函数完成资源的清理,可以保证资源的正确初始化和释放。智能指针的最初动机是使得下面的代码更安全,最初使用:void Test1(){

2017-10-14 22:42:56 150

原创 菱形继承

一. 虚表       虚函数表是通过一块连续内存来存储虚函数的地址。这张表解决了继承、虚函数(重写)的问题。在有虚函数的对象实例中都存在一张虚函 数表,虚函数表就像一张地图,指明了实际应该调用的虚函数函数。二. 单继承对象模型#includeusing namespace std;class Base {public: virtual void func1()

2017-08-04 11:42:10 174

原创 虚函数和多态

一. 虚函数定义:类的成员函数前面加virtua

2017-08-04 10:12:30 304

原创 继承和多态

一.继承       定义:继承是面向对象复用的重要手段,是类型之间的关系建模,共享共有的东西,实现各自本质不同的东西。       三种继承关系下基类成员在派生类发生的访问关系变化:

2017-08-01 10:54:33 179

原创 写时拷贝

1.写时拷贝的定义:       写时拷贝顾名思义,是在写的时候(即改变字符串的时候)才会真正开辟空间(深拷贝),如果只对数据读取时,只会对数据进行浅拷贝,称写时拷贝,引用计数器的写时拷贝,又称为延时拷贝。       写时拷贝技术是通过“引用计数”实现的,在分配空间的时候多分配4个字节,用来记录有多少个指针指向块空间,当有新的指针指向这块空间时,引用计数加一,当要释放这块空间时,引用计数

2017-07-25 11:00:43 582

原创 动态内存开辟

一.C的动态内存管理细节1、malloc   函数             a、该函数的原型:void *malloc(size_t size);             b、该函数只有一个参数,且形参size是无符号整型,该参数代表申请空间的字节数。             c、返回值:如果内存池中的可用内存满足需求,malloc返回一个指向被分配内存块起始位

2017-07-21 11:54:43 237

原创 指针和引用

1.引用           引用是对象的别名,引用本身不是对象,它只是已经存在的对象的另一个名字。故所有对引用的操作均是对它所代表的对象的操作。   定义格式:                  类型&引用变量名=已定义过的变量名;   特点:                 1.一个变量可以取多个别名              2.引用必须初始化

2017-07-19 11:30:52 231

原创 c函数重载的实现

函数重载是C++中特有的,在C语言中没有。函数重载的定义:指在同一作用域内,可以有一组相同函数名,不同参数列表的函数,这组函数称为重载函数。     int Add(int a, int b)  //?Add@@YAHHH@Z{return a + b;}double Add(double a, double b)   //?Add@@YANNN@Z{return

2017-07-17 22:52:29 706

进程间通信

主要讲述进程间通信的目的、发展和分类与进程间实现信息共享的方式

2018-01-10

空空如也

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

TA关注的人

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