博客专栏  >  编程语言   >  c++ & 数据结构

c++ & 数据结构

通过程序讲解c与c++的相关知识. ps:该专栏内也可能会穿插一些数据结构的知识

关注
3 已关注
48篇博文
  • 22题:栈的压入、弹出顺序

    题目描述输入两个整数序列,第一个序列表示栈的压入序列,请判断第二个序列是否是栈的弹出序列。假设压入栈的所有数字均不相等。例如序列1、2、3、4、5是某栈的压栈序列,序列4、5、3、2、1是该压栈序列对...

    2017-06-29 12:28
    728
  • 二叉树的镜像

    题目描述完成一个函数,输入一个二叉树,该函数输出它的镜像。二叉树结点定义如下:struct TreeNode { int val; struct TreeNode *left; ...

    2017-06-19 14:50
    257
  • 重建二叉树

    题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2...

    2017-05-28 10:24
    721
  • 替换空格

    题目:请实现一个函数,把字符串中的每个空格替换成”%20”。例如:输入”we are happy.”,则输出”we%20are%20happy.” 思路分析: 我们比较替换之前与替换之后的字符串长...

    2017-03-07 16:55
    670
  • 旋转数组的最小数字

    题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小数组。例如数组{3,4,5,1,2}是数组{1,2,3,4,5}的旋转数...

    2017-05-25 15:51
    466
  • Linux - atime,mtime,ctime以及用touch指令来进行修改

    Linux下的文件或目录有三种时间: 访问时间(Atime):每当访问这个文件/目录后,Aeecss显示的时间就会更新一次。 修改时间(Mtime):当对这个文件进行修改后,Modify显示的时间就更...

    2016-12-25 11:14
    769
  • Linux - find命令讲解

    windows是我们使用比较熟悉的一个系统,在windows下,文件是以后缀来区分类型的,而且我们也比较熟悉在该系统下怎样去查找一个文件。由于Linux不像windows那样,可以区分文件,并且关于L...

    2016-12-28 17:00
    308
  • Linux - sticky bit

    一、粘滞位是什么? 粘滞位是Linux下文件权限的一个旗标,当对一个文件设置了粘滞位后,只有owner用户或者root用户才可以对该文件进行删除或移动,但假若不对文件设置粘滞位,任何对该文件具有写和执...

    2016-12-30 12:47
    149
  • Linux - 实现简易进度条

    1.背景知识讲解 2.如何实现一个简单的进度条 开始今天的内容之前,我们先来回顾一个知识,看下面一段代码(Linux下运行程序) 对比上边的代码,似乎相差不大,但是运行结果却千差万别:A图代码运...

    2017-01-01 16:11
    416
  • 如何编写一个makefile

    一个工程中的源文件不计其数,按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,...

    2017-01-02 11:33
    381
  • 哈夫曼树以及文件压缩的实现

    从哈夫曼树到哈夫曼编码再到文件压缩,一步步讲解,一步步实现

    2016-12-22 22:20
    806
  • 设计一个简单的对象池

    在将内存池之前需要先回忆一个以前听过的东西----内存碎片。 一、内存碎片是什么 我们都知道当需要动态开辟内存时,系统都是在堆上开辟一块空间,尽管开辟出来内存的地址是连续的一块内存空间,但每次开辟的内...

    2016-12-07 19:51
    409
  • 非比较排序---计数排序&基数排序

    如果给出一组数:2, 2, 9, 5, 3, 9,怎样才能遍历一次该数组就能使其有序呢?!试试之间讲的算法,好像都不行。这里我给出另一种排序算法------非比较排序! 非比较排序包括计数排序和基...

    2016-12-03 10:41
    268
  • 排序算法---选择排序&堆排序&冒泡排序

    直接选择排序、堆排序、冒泡排序及其比较 直接选择排序和堆排序都属于选择排序 ps:仍以升序为例! 一、直接选择排序 直接选择排序的思想: 选择排序就是通过n-i次关键字的比较,每次从n-i+1...

    2016-12-01 14:42
    327
  • 排序算法---直接插入排序和希尔排序

    排序算法大致可分为: 1.插入排序 --- 直接插入排序、希尔排序 2.选择排序 --- 选择排序、堆排序 3.交换排序 --- 冒泡排序、快速排序 4.归并排序 本篇博客主要介绍插入排序。。 p...

    2016-11-26 13:00
    184
  • 排序算法---归并排序

    一、归并排序的思想: 1.每次将一组数分为两组,直到不能再分为止; 2.从个数最小的数组开始比较,每次将比较大(或小)的数放入辅助数组中,辅助数组的下标+1,如此循环,直到有一个数组比较完,此时如...

    2016-11-23 21:59
    207
  • BTree

    B树是一种多叉的平衡搜索树,适合外查找。 一棵M叉(M>2)的B树,可以是一棵空树,也可以是具有如下的性质的B树:(M为) 1.根节点至少有两个孩子 2.每个非根结点有[M/2,M]个孩子 3.每个非...

    2016-11-19 12:39
    243
  • 哈希表---开链法解决哈希冲突

    上篇文章已经写过构造哈希表时用开放定址法解决哈希冲突,这次我就来写写这个开链法解决哈希冲突的问题! 一、结点定义 我们已经知道开链法大概是一种什么结构了,(如果不知道,这里有讲哦点我点我)...

    2016-11-19 10:17
    485
  • 哈希表

    哈希表,又称为散列表,它是根据关键码(key)直接访问在内存中的存储的一种数据结构。它通过把关键码根据某一函数进行转换后映射到表中的,这个函数称为散列函数,存放记录的数组称为散列表。 一、哈希表...

    2016-11-19 10:19
    259
  • 散列表的构造和哈希冲突

    ----------------------------该篇文章主要写了散列表的6中构造方法以及处理哈希冲突的两种方法---------------------------- 一、散列表的构造 1...

    2016-11-08 14:41
    372

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部