
C++
文章平均质量分 63
seven_0-0
这个作者很懒,什么都没留下…
展开
-
用C++封装一个mysqlAPI
测试环境声明:CentOS6.5、mysql 5.1 在写代码之前我们应先学习一下mysql中的数据类型以及基本的函数,如下列举了我们今天要使用数据类型和函数的介绍: mysql中的基本数据类型: - MYSQL 该结构代表1个数据库连接的句柄。几乎所有的MySQL函数均使用它。不应尝试拷贝MYSQL结构。不保证这类拷贝结果会有用。 - MYSQL_RES 该结构代表返回行的查询结果(S原创 2017-05-07 09:38:05 · 5583 阅读 · 1 评论 -
AVL树详解&面试题-判断一棵树是否是平衡二叉树
上次写了关于二叉搜索树的分析,但是二叉搜索树有一个缺陷,就是当插入一个有序(或接近有序)的序列时,二叉搜索树就相当于一个链表了,搜索效率会特别低。那么,如何来改进呢?这就引入了AVL树(高度平衡二叉树),那么下面我们一起来了解一下AVL树吧! AVL树的特征: 1、左右子树的高度差都不超过1; 2、左右子树都是AVL树; 3、每个节点都有一个平衡因子bf(blance fator ),其值为原创 2017-06-24 22:57:26 · 6313 阅读 · 0 评论 -
【剑指offer】用两个栈实现一个队列,用两个队列实现一个栈
问题1:用两个栈实现一个队列 问题描述及分析: 用两个栈实现一个队列。分别完成在队列尾部插入节点AppendTail和在队列头部删除节点DeleteHead的功能。 栈的特点是先进后出(FILO),而队列的特点是先进先出(FIFO),因此,尾部插入节点相当于入栈操作,很容易实现。但是头部删除节点比较麻烦,我们始终用stack1存储元素,用stack2作为临时空间来导出数据。当stack2为空时原创 2017-06-12 00:14:14 · 1389 阅读 · 0 评论 -
【剑指offer】第六题-重建二叉树
问题描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并输出其头节点。 问题分析: 在二叉树前序遍历中,第一个数字总是树的根节点的值。但在中序遍历中根节点则在中间,且左子树的节点的值在根节点的左边,右子树的节点的值原创 2017-06-10 12:46:00 · 373 阅读 · 0 评论 -
排序算法(四)冒泡排序及其优化
基本思路: 冒泡排序的基本思路是通过元素的两两比较不断将较大值(升序)或则较小值(降序)移动序列的后面,类似于气泡向上冒的排序算法。 1、比较相邻两个元素大小,如若不符合要求则交换元素; 2、对整个序列做同样1的操作,最后的元素一定是当前比较的序列中最大(或最小)的元素; 3、重复以上操作除了上一次遍历的最后一个元素。 图解(升序): 我们可以根据冒泡排序原理写出代码:void原创 2017-06-06 15:54:03 · 563 阅读 · 0 评论 -
排序算法(三)堆排序原理与实现(小顶堆)
堆排序实际上是利用堆的性质来进行排序的,要知道堆排序的原理我们首先一定要知道什么是堆。 堆的定义: 堆实际上是一棵完全二叉树。 堆满足两个性质: 1、堆的每一个父节点都大于(或小于)其子节点; 2、堆的每个左子树和右子树也是一个堆。 堆的分类: 堆分为两类: 1、最大堆(大顶堆):堆的每个父节点都大于其孩子节点; 2、最小堆(小顶堆):堆的每个父节点都小于其孩子节点; 堆的存原创 2017-05-19 00:17:09 · 47452 阅读 · 14 评论 -
C++中容器总结
[转自]http://www.jb51.net/article/70341.htm#C++中的容器大致可以分为两个大类:顺序容器和关联容器。顺序容器中有包含有顺序容器适配器。 顺序容器:将单一类型元素聚集起来成为容器,然后根据位置来存储和访问这些元素。主要有vector、list、deque(双端队列)。顺序容器适配器:stack、queue和priority_queue。 关联容器:支持通过键转载 2017-05-16 17:40:27 · 560 阅读 · 0 评论 -
排序算法(一)直接插入排序和希尔排序
我们知道如果数据按一定的排序标准进行排序,那么数据处理的效率也会随之提高。网上的排序算法不胜枚举,在这里我也整理了一些排序算法,和大家一起交流学习。原创 2016-11-30 00:04:49 · 1089 阅读 · 0 评论 -
排序算法(二)选择排序解法及优化
选择排序的思想比较简单,它的工作原理是每次从待排序的序列中选择最大(或最小)的一个元素,放到序列的开头(或结尾),直到整个序列有序为止。 这种方法非常简单,代码如下:void SelectSort(int arr[], int len){ int i = 0; int j = 0; int min = 0; for (i = 0; i < len; i++)原创 2017-05-14 15:05:49 · 510 阅读 · 0 评论 -
C++实现二叉搜索树(递归&非递归)
二叉搜索树(Binary Search Tree)的性质: 1、每个节点都有一个作为搜索关键码的key,并且所有节点的key都不相同。 2、左子树上的key值都小于根节点的key值。 3、右子树上的key值都大于根节点的key值。 4、左右子树都是二叉搜索树。 如下图为一颗二叉搜索树 实现: 二叉搜索树的插入: 二叉树的插入是根据要插入节点的key值找一个合适的位置插入节点,如果原创 2017-06-14 23:25:26 · 2791 阅读 · 1 评论