自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 数据结构-----平衡二叉树(Balanced Binary Tree)

AVL树的定义及其特性: 平衡二叉树(Balanced Binary Tree 或 Height-Balanced Tree)又称AVL树。它或者是一颗空树,或者是具有以下性质的二叉树: 它的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1; 该树上任意结点的平衡因子...

2019-09-23 13:48:06

阅读数 8

评论数 0

原创 实现C程序调用C++代码及C++程序调用C代码

在学习过程中,一次偶然的经历让自己产生了一些想法。对于常常使用的在.c文件中自定义的函数,能否在.cpp文件中使用呢?反之,.cpp文件中的函数能否在.c文件中使用呢?经过相关资料的查询,发现其实这是完全可以的,下面将对其进行详细 目录 C程序调用C++代码 C++程序调用...

2019-07-27 19:04:09

阅读数 28

评论数 0

原创 数据结构-----二叉搜索树(binary search tree)

二叉搜索树简称为BST树,其主要特点为左孩子数据域的数值 <父结点数据域的数值 < 右孩子数据域的数值。 如图所示即为一颗二叉排序树: 通过示例可以看出,二叉搜索树实质上就是对于二叉树的推广,只是在普通的二叉树上做出特殊要求罢了。关于二叉树可以参考我的其他博文h...

2019-05-28 17:04:24

阅读数 100

评论数 0

原创 经典排序算法----堆排序(C语言实现)

算法表述: 堆排序的基本原理为将待排序序列构造成一个大根堆,此时,整个序列的最大值就是堆顶的根节点。将其与末尾元素进行交换,此时末尾就为最大值。然后将剩余n-1个元素重新构造成一个大根堆,重复上述操作,最终序列为有序。 备注:大根堆是每个结点的值都大于或等于其左右孩子结点的值;小根堆是每个结点...

2019-05-26 22:38:39

阅读数 305

评论数 0

原创 经典排序算法-----shell排序(C语言实现)

算法表述: shell排序实际上是一种直接插入排序推广,其基本原理为其先将一组数分成若干组;此处应该注意,分组的方式不能几个几个紧挨着分组,而是采用每次所分组数均为素数且最后一次分组为1的方法,采用分组的好处是,在每次排序完后都是将小的数尽量往前面赶,大的数尽量往后面赶,最后一次排序直接采用直接...

2019-05-26 22:31:21

阅读数 118

评论数 0

原创 经典排序算法-----归并排序(C语言实现)

算法表述: 归并排序的基本原理是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。其实通俗来说,对于一个数来说自身是有序的,然后每次选取两个数使之自身有序,然后每次选取四个数使之自身有序,以后以二倍增长选择,...

2019-05-26 22:24:15

阅读数 1047

评论数 0

原创 经典排序算法----基数排序(C语言排序)

算法表述: 基数排序也叫桶排序,我自称它为神奇的排序。之所以说它神奇,请读者仔细往下读,最后你就会明白我为什么这么说了。他的基本原理为首先找出序列中最大的那个数,依据这个数的位数确定入桶出桶的次数。之后将数按位进行分离,依据位数值选择对应的桶,当数字全部入桶之后,我们在将数字进行出桶。这里我们将...

2019-05-26 22:13:14

阅读数 113

评论数 0

原创 经典排序算法-----快速排序(C语言实现)

算法表述: 快速排序算法的基本原理为通过一次排序将要排序的数据分割成独立的两部分,将序列分为两部分的中间数作为基准(par),基准左边的数都要比基准右边的数要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 算法执行过程分析: 例如:...

2019-05-26 21:38:22

阅读数 3424

评论数 7

原创 经典排序算法-----直接插入排序(C语言实现)

算法表述: 直接插入排序的基本原理就如同打扑克牌一样,起初在摸牌的时候,第一张牌对于自身而言是有序的,假如摸到4,当第二次摸到6时,会将6放在4的后面,第三次摸到3时,会将3放在4的前面,这个过程就是直接插入排序。那么对于6和3而言,如何知道是大还是小呢?过程很简单,每摸到一张牌就和前面已有序数...

2019-05-26 18:38:46

阅读数 377

评论数 0

原创 经典排序算法-----选择排序(C语言实现)

算法表述: 选择排序的基本原理是以序列首元素位置为基准位置,每次将该基准位置的元素和后面元素逐个进行比较,挑选最大或者最小的那个数放在基准位置上,一趟比较结束后,然后将基准位置设置为该位置的下一位置,重复上述操作,直到基准被安排在序列的最后有一个位置时,此时序列已经排列完成。 算法执行过程分析...

2019-05-26 18:12:28

阅读数 389

评论数 2

原创 经典排序算法-----冒泡排序(C语言实现)

算法描述: 冒泡排序是一种较为简单的排序算法,其基本思想为从头开始依次比较相邻的两个元素大小,将较大(较小)的元素移至右端,最终使最大(最小)的元素移至序列最后,再次重复上述过程,直到最终序列完全有序为止。 算法执行过程分析: 例如:有一行数分别是26、10,83,56,28,66,7 说明...

2019-05-26 13:52:36

阅读数 104

评论数 0

原创 二维数组顺时针输出(C语言实现)

题目概述: 给定一个二维数组,要求顺时针对其进行输出。例如给定二维数组int arr[3][3] = {{1,2,3},{4,5,6},{7,8,9}};要求输出结果为:1、2、3、6、9、8、7、4、5。 题目分析: 这道题目乍一想似乎很简单,只不过是通过变量控制,输出结果就行。但事实上要...

2019-05-25 22:47:05

阅读数 269

评论数 0

原创 数据库-----详谈sql语句单表查询,多表查询

数据查询是数据库中最常用的操作。SQL提供select语句在一定条件下对指定的基本表进行查询。由于查询需求的复杂程度不同,可分为单表查询和多表查询。两种查询将在后面依次进行介绍。 在介绍单表查询和多表查询之前,首先我们提出select 语句查询基本格式为: SELECT 属性列表 FRO...

2019-05-23 00:01:07

阅读数 91

评论数 0

原创 数据库-----sql语句对数据库、基本表创建、增删改查等基本操作

sql语句对数据库操作: 1、创建数据库 create database 数据库名称; 举例:创建一个数据库dbcourse create database dbcourse; 2、查看数据库 show databases; 3、使用数据库 use 数据库名称 举例:使用数据库d...

2019-05-21 21:17:12

阅读数 228

评论数 0

原创 数字化婚姻配对尝试问题(C++实现)

问题描述: 一、标题: 数字化婚姻配对尝试 二、题目: 建立一个模型,来模拟推导社会男女择偶过程。 为了模型简化,一个人的特性指标有三个,这里假设为财富、样貌、品格,每个指标均可取值1-100之间任意数字。同样也对这3项指标有自己的需求。这3个需求值取值范围都在1-98间,当然三者的和必...

2019-05-21 18:13:20

阅读数 1966

评论数 0

原创 C++-----继承那些事儿(一)

善有恒何必三更眠五更起,最无益莫过一日瀑十日寒。每天进步一点点,终会成为梦想的自己。 目录 何为继承 单继承和多继承 派生类中,从基类继承来的成员的访问限定 派生类怎么初始化从基类继承来的成员 基类和派生类同名成员函数之间的关系 赋值兼容性规则 何为继承 C++作为一种面向对象...

2019-05-20 23:07:53

阅读数 43

评论数 0

原创 剑指offer-----两个队列实现一个栈(C++实现)

题目概述:用两个队列实现一个栈,请实现他的两个函数Push和 Pop,分别完成入栈和出栈功能。 题目分析:我们知道队列结构的特点是“先进先出”,栈结构的特点的“先进后出”;仔细分析这道题,本道题的要求为将两个队列组合起来形成一个“先进后出”结构。 这里我们令第一个队列为queue1,第二个队列...

2019-05-09 23:02:49

阅读数 192

评论数 2

原创 剑指offer-----两个栈实现一个队列(C++实现)

题目概述:用两个栈实现一个队列,请实现他的两个函数appendTail 和 deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。 题目分析:我们知道栈结构的特点是“先进后出”,队列结构的特点的“先进先出”;仔细分析这道题,本道题的要求为将两个栈组合起来形成一个“先进先出”...

2019-05-08 19:48:29

阅读数 121

评论数 0

原创 文章单词频数统计-----(C语言版)

题目概述: 给定一篇英语单词数少于50万的文章(.txt),要求统计每个单词出现的频数以及正篇文章单词数,并且要求将所得频数依据从大到小的顺序进行输出。(输出要求:单词名称 ===== 出现次数) 解题思想: 将.txt文件读入内存中; 设置一个world结构体用于存储单个单词,设置一个N...

2019-04-28 23:34:46

阅读数 137

评论数 0

原创 C/C++面经题-----malloc/free与new/delete区别

C/C++面试,面试官常常会询问我们malloc/free和new/delete的区别是什么?这个问题并不难,但是完全回答正确却不容易,下面我对其异同做出分点概述。 目录 malloc/new异同点 free/delete异同点 malloc/new异同点 <1&...

2019-04-27 14:33:44

阅读数 46

评论数 0

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