自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 二叉树的层序遍历

如果想让二叉树实现层序遍历并进行打印的话,我们需要用到一个队列的性质。队列因为可以实现先进队列的先出,所以我们就可以让二叉树的每一层一次进入队列,这样,在对队列的元素进行出队操作,然后打印,这样,所得到的就是一个层序遍历的二叉树了。 我做了一个简单的图来进行示意: 首先,我们有这样的一个二...

2019-10-31 20:06:58

阅读数 7

评论数 0

原创 时间复杂度和空间复杂度

在计算执行程序的过程中,有两个衡量一个程序的所要消耗的空间和时间,这两个单位就是空间和时间复杂度。 因为如果只是单纯的对计算机的执行时间进行一个时间复杂度的定义,因为每台计算机的执行速度因配置而定,很难完全相同,所以这样定义的时间复杂度是有问题的,但是如果将时间复杂度定义为一个程序最大执行的次数...

2019-09-25 17:39:15

阅读数 29

评论数 0

原创 单向无头链表的基本操作

对于单向无头链表的基本操作有创建一个链表,销毁,从尾部加一个数进去,从头加一个数进去,从尾部删去一个,从头部删去一个,以及放回这个链表的长度。具体的实现并不难,只是一个简单的逻辑,需要注意的点就是,在进行尾部插入和删除的时候,一定要记得对最后的一个节点的next置为NULL,这样才能保证print...

2019-09-25 13:21:48

阅读数 8

评论数 0

原创 有头的单链表的基本操作

对于单链表的基本操作有 初始化,销毁,以及头部插入,尾部插入,头部删除,尾部删除以及计算单链表的长度。 我这里的初始化函数,因为有一个链表头,所以malloc的时候,是从第二个空间进行空间开辟的。并且在释放的时候,也是从第二个空间开始释放的。并且头部的插入和删除,也都是第二个位置的删除与插入,如...

2019-09-24 20:36:00

阅读数 19

评论数 0

原创 单链表的逆序

我自己的链表逆序是通过三个指针,不停地进行位置的变换,然后直接对单向链表进行逆序,但我这里的单链表逆序的是因为没为我没有咋测试函数中进行返回值的接受,所以没行头指针的变换,大家看的时候注意一下,思路是我的思路,不需要头指针的自己改变一下测试函数以及初始化函数和释放函数就可了,思路图如下: 这...

2019-09-21 16:51:58

阅读数 11

评论数 0

原创 C++的string

string就是字符串类,这个字符串类中有很多的方便我们进行操作的函数。 string类在进行使用的时候,需要引用头文件<string>,这样才能正常的进行这个类的操作。 string类的对象具有以下几个函数,分别是 :size() length() capacity() empt...

2019-09-21 13:20:30

阅读数 13

评论数 0

原创 C++类和对象

在C++中,结构体内不仅可以定义变量,还可以定义函数。但是C++的结构体完全不同于C语言的结构体,C语言的结构体仅仅只是一个多个基本数据类型的集合,但在C++中,结构体却是类的一种体现。两者几乎没有差别。 面向对性的三大特性:继承、封装、多态。 C++的结构体即是是孔结构体,在内存中也是占有一...

2019-09-21 13:19:50

阅读数 18

评论数 0

原创 C++基础(1)

命名空间(namespace):通过命名空间来限制变量的作用域,通过这样的作用域的限制,避免了命名上的冲突,函数和变量通过 命名空间的不同,会在内存中存储的时候,形成不同的名字,这样,就避免了各种各样的命名冲突。 输入和输出(cout << / cin >>):C++的...

2019-08-27 14:52:03

阅读数 9

评论数 0

原创 链式二叉树的7种遍历方式

在说链式二叉树的遍历之前,我们先来说一下如何创建一个链式二叉树。创建一个链式二叉树,需要一个已知的字符串,这个字符串必须支持创建二叉树的规则。比如: 我们通过递归来实现二叉树的创建,开始先向左走,如果遇到#,就返回,然后向右走,直到遇到#,就返回一个NULL,这样,就完成了一个链式二叉树的创建。 ...

2019-08-20 17:59:31

阅读数 41

评论数 0

原创 C指针详细讲解(帮助理解)

指针,是一种数据类型,是用来存储地址的数据类型。 我们可以通过定义指针变量,然后给这个指针变量中存储地址,然后再通过指针来访问这个地址所对应的内容。 上面的是指针的基本感念,几乎所有的C语言学习者都会在书籍中看到这样的概念,但是并不会详细讲解指针应该如何进行理解。我个人对指针变量的理解是:指针...

2019-06-08 13:37:00

阅读数 31

评论数 0

原创 C语言写一个能进行文件存储的完整通讯录

用C语言制作一个通讯录,这个通讯录需要完成一系列基本的通讯录应有的工作:增加、删除、查找、修改、展示、退出。这个通讯录需要做到动态的内存开辟,以及将写好的通讯录的内容写入文件,每次在开始时可以调出原来写好的内容。 至于如何实现这些功能,我接下来一个接一个说明,说明完成后,就直接将源代码全部放出来...

2019-06-07 19:34:38

阅读数 281

评论数 1

原创 结构体的大小计算

结构体是C语言的一种数据类型,是一种多种基本数据类型混合的类型。既然他是数据类型,那么就有数据类型在内存中所占字节数,即大小。如何计算数据类型的大小呢?是简单的将一个个简单数据类型的大小相加吗?还是有自己特殊的存储方式? 我们这里先通过举多个例子来看看实际运行的结果,然后再讨论规律。 str...

2019-05-27 08:52:25

阅读数 37

评论数 0

原创 计算机大小端以及大小端查看

数据在计算机中存储的时候,分为大端存储和小端存储,每个计算机的大小端存储都不同,为了了解自己的机器中的大小端类型,可以通过很多方法查看。这里我们主要讲解两种查看大小端的方法。 那么到底什么是大小端呢? 大端存储是 数据的低位存储在高地址处 小端存储是 数据的低位存储在低地址处 ...

2019-05-26 12:59:27

阅读数 323

评论数 0

原创 C语言扫雷游戏

Window上最经典的游戏肯定免不了扫雷游戏了,那么如何用C语言写一个自己的扫雷游戏。为了写一个扫雷游戏,一定要先搞清楚如何尽心一个游戏整个过程的设计,在游戏代码的构建之前,一定要将游戏每一步搞清楚,然后将游戏按照步骤进行逐步实现,这样写出来的游戏,才会最大限度的满足自己的要求。 扫雷游戏的只要...

2019-04-15 15:33:54

阅读数 127

评论数 0

原创 C语言三子棋游戏

为了实现三子棋游戏,首先要知道三子棋游戏需要做到那些关键步骤,明白每一步步骤,然后按照步骤,将代码分步写出来。复杂的代码是由一个个最简单的代码块复合起来的。 咋们现在来看看三子棋游戏需要怎演的步骤才能将其实现。 进行一个游戏开始的选择,即是否进行游戏,如果不进行游戏,那就退出。在这一步的实现的...

2019-04-14 10:57:40

阅读数 28

评论数 0

原创 windows下的win+ 快捷键

Win + A:打开操作中心; Win + B:将焦点转移到任务栏通知区域,之后你可以通过左右方向键选择项目,按回车打开; Win + C:打开Cortana微软小娜,并开始聆听...... Win + Alt + 数字键:打开任务栏上对应位置应用或程序的跳转列表; Win + 加号:打开...

2018-11-01 16:00:31

阅读数 308

评论数 0

原创 头文件的搭建

       在编程过程中,为了避免在多个源文件中头文件被多次的包含,可以通过搭建一个头文件避免这种情况。        在搭建头文件时,先要在一个·文件下建立一个空白头文件,例如现在搭建一个 Add.h 头文件,需要在头文件中写入                    #ifndef __A...

2018-09-23 20:18:37

阅读数 61

评论数 0

原创 结构体和结构体链表

在c语言表针中有多种数据类型,他们的应用使变量的应用变得灵活多变。而除了c语言默认的int ,float ...等类型外,我们还可以自己定义一些数据的类型,结构体类型便是可以实现数据类型自定义的类型。 结构体是一种类型,他的应用和int,float等变量类型的应用方法一致,切记,结构体是一...

2018-08-24 16:12:07

阅读数 6954

评论数 1

原创 简单选择排序

       在算法中有很多的排序方法,选择排序就是比较常用的排序方法。选择排序是利用每个元素之间的比较来进行交换,然后利用循环将各个元素按照顺序排列。例如,让一个数组中的元素按照从小到大进行排列,主要思路为,定义两个指针,先让第一个指针指向第一个元素,第二个指针指向第二个元素,第一个元素和第二个...

2018-08-23 12:53:21

阅读数 40

评论数 0

原创 c语言 解析常用字符操作函数

       在c语言中有很多的字符操作函数,而我们经常用到的字符操作函数有strcpy ,strncpy ,strcat ,strcmp ,strlen ,strlwr ,strupr ,gets ,puts ,等等很多很多。       下面我们来解析一下这些字符操作函数。        ...

2018-08-11 11:20:31

阅读数 74

评论数 0

原创 c语言 冒泡排序

        在算法中有几种经典的算法,其中就有冒泡排序法。冒泡排序,顾名思义,就是将元素冒泡出来,进行大小的对比,然后进行排序。冒泡排序算法的思想是在一个循环中将两个元素为一组单独拿出来,然后进行大小对比,按照程序员的目进行排序的方式进行排序,每次只拿出两个元素为一组进行排序,大小对比后进行如...

2018-08-03 21:12:29

阅读数 622

评论数 0

原创 c语言设计简单计算器实现加减乘除运算

      编写程序的目的就是使程序有他应用的地方,编写一个简单的计算器来实现我们计算的目的。           利用swich  case 语句和循环结构来实现简单程序的编写。利用选择语句来进行输入的选择,然后利用所输入的数字的不同进行不同类型的运算,然后当需要退出时,则通过break语句跳...

2018-08-03 17:28:57

阅读数 5557

评论数 0

原创 c语言 利用联合和结构体将IP地址进行打印

       在每一个计算机中都有他自己的IP地址,而IP地址是如何在计算机中存储的是一直以来我们都不知道的。        在计算机中,IP地址的存放是由10进制数组组成的,而计算机将IP地址呈现给我们时则是以点分十进制表示的。        例如  IP地址为 57.163.109.40 ...

2018-08-01 11:13:21

阅读数 235

评论数 0

原创 c语言 函数递归的简单应用

       利用函数递归来时现将一个sh数的每一位拆出来然后求和,即是:例如一个shu数  1888;它的每一位sh是 1  8  8   8,而每一位的每一位的和最终是  25,而接下来jian建立用函数的递归来sh实现这个算法。 #include&lt;stdio.h&g...

2018-07-31 21:28:10

阅读数 88

评论数 0

原创 c 语言 用函数递归来实现求 k 的 n 次方

       如果求取k的n次方,既可以用普通的方法实现,也可以用函数的递归来实现。        函数的递归即是自己调用自己的函数应用形式,即在main函数下定义一个函数,然后在这个函数内自己为了实现某个目的,函数自身反复调用自己来完成这个目标的形式叫做函数递归。        因此,这个算...

2018-07-31 20:58:05

阅读数 481

评论数 0

原创 c语言 求第n个数的斐波拉契数

斐波拉契数是指一个数组中从第三个起,一个数等于他前两位数的和,由这样的有序数列叫斐波拉契数列。例如  //1 2 3 5 8 13 21 34 55 89   这就是1-10的斐波拉契数。 而在算法中如何求得斐波拉契数需要知道最基本的定义,然后再写算法。 在斐波拉契数中,第一和第二位的元素是固...

2018-07-31 20:14:56

阅读数 248

评论数 0

原创 c语言 寻找一个由成对元素组成的数组中的不成对元素

       在一个数组中有很多对的元素,相互成对出现,而有2个元素则是不成对出现,要找到这两个元素,并将其打印在屏幕上,需要用到位运算和运算符的应用。        例如{1,2,3,1,2,3,5,8},这一组元素中, 5 , 8  这两个元素不是成对出现的,我们的目的就是找出这两个元素。整...

2018-07-31 12:22:26

阅读数 56

评论数 0

原创 c语言 将一个数组中的奇数和偶数分开放在一起

       在一个数组中的元素大多奇数和偶数是混在一起的,而将数组中元素奇数和偶数分开存放则是我们要解决的问题。        将奇数和偶数分开存放然后打印出来的思路是先创建两个空间,将奇数和偶数分别存放起来,然后再将他们又存进原数组,最后将数组元素循环打印就完成了奇数和偶数的分别存放。 ...

2018-07-31 10:20:47

阅读数 1792

评论数 0

原创 c语言 一个数的二进制位的倒位

      在32位计算机中存储一个int类型的整形数时是按照二进制的的32个比特为存储的,例如"25"存储时存储的是“00000000 00000000 00000000 00011001”,而将其二进制数到位得到的是“11001000 00000000 00000000 0...

2018-07-29 15:10:25

阅读数 299

评论数 0

原创 c语言 数组中字符串的旋转(左旋)(右旋)

     在数组中定义一个字符串,该字符串由“ abcdef ” 组成,所谓左旋即是让左边的第一个字符旋转到右边去,左旋一个字符即是产生“ bcdefa ”这样的字符串,右旋与之相反。      为了控制左(右)旋的字符数,需要制作一个可以改变旋转字符数的函数。      字符串的旋转的主要s...

2018-07-28 20:18:28

阅读数 361

评论数 0

原创 c语言模拟实现memcpy

在c语言的库函数中,有一个函数实现了数组中元素的选择性拷贝———memcpy; 除了利用库函数之外,还可以通过自己的模拟实现元素的拷贝,先通过传到调用函数的值来选择要拷贝多少个元素;然后将所得到的数组利用循环打印在屏幕上,完成拷贝。 #include&lt;stdio.h&g...

2018-07-28 00:36:45

阅读数 71

评论数 0

原创 c语言模拟实现strncat

       在c语言的库函数中,strcat负责将一个字符串加在另一个字符串的后面,但他只能将一个字符串的所有字符加在另一字符串的后面,而strncat则可以选择性的在字符串后加字符串,使追加字符串更灵活,更安全。        在选择性的追加字符串前,要先知道两个字符串的长度,且被追加的字符串...

2018-07-27 17:04:16

阅读数 92

评论数 0

原创 c语言模拟实现strncpy

       在c语言中,为了实现字符串的拷贝可以用到strcpy函数,而这个函数只能实现所有字符的拷贝,为了控制拷贝的字符数,则要用到strncpy函数。        通过模拟实现strncpy函数来完成这个函数的功能。        在该函数的拷贝中,可以根据你的需要拷贝相应数量的字符,在字...

2018-07-27 14:57:39

阅读数 66

评论数 0

原创 c语言 通过指针拟实现strcmp

实现strcmp比较字符串的大小除了利用库函数之外,还可以通过自己对该函数的模拟来实现该函数。 利用函数的调用,创建一个my_strcmp,如果两个字符串从头到尾由第一个字符开始,如果有一个字符在两个字符串中有不同,则比较这两个字符的大小从而实现字符串的大小比较。 在第一个例子中,是利用返回值的...

2018-07-26 11:20:19

阅读数 648

评论数 0

原创 c语言模拟实现strcat

      在库函数中,strcat负责将两个字符串相连在一起,而在不使用库函数的情况下,自己模拟实现一个my_strcat也可以实现这样的效果。        先定义两个字符串,如果将字符串arr2连接在arr1后,则必须保证arr1中有足够的空间来实现字符串的存储,然后在定义的函数中让arr1...

2018-07-26 11:15:00

阅读数 122

评论数 0

原创 c语言模仿实现strcpy的字符串拷贝

在c语言中,字符串的拷贝可以利用库函数strcpy来实现,而在不利用库函数的情况下,该如何进行字符串的拷贝呢? 自己定义一个函数,利用这个函数,进行模拟实现字符串的拷贝。 在字符串的拷贝中,主要是逐个字符的拷贝,注意,字符串是char类型的常量,不可定义为其他类型。 #include&...

2018-07-25 19:44:07

阅读数 103

评论数 0

原创 冒泡法 数组中元素倒位

     将一个数组中的元素进行倒位有多种方法可以实现,利用不同的方法进行,选择最有效最实用的方法是提高效率的重要原因。 以下有两种方法,均实现了元素的倒位,分别是一般的方法和利用指针进行冒泡排序法,在一般方法中,利用数组中左边的数和右边的数的大小不同进行交换,完成数组元素的倒位。 在冒泡法中...

2018-07-25 16:52:40

阅读数 36

评论数 0

原创 杨氏矩阵问题的解析

     杨氏矩阵是将数字按由上到下由左到右按顺序排列的方式,通过杨氏矩阵来寻找数字可以利用他的特点进行快速有效的查找。 杨氏矩阵      1  2  3                     4  5  6                     7  8  9 例如   在其中寻找...

2018-07-25 00:33:49

阅读数 144

评论数 0

原创 深度解析可变参数

在函数中存在函数的参数未知的情况,而可变参数就是用来解决这一问题的。 用下面两个例子来说明可变参数的问题      

2018-07-24 12:30:11

阅读数 96

评论数 0

原创 简单的外部变量的引用和内部变量的应用

在函数中会存在同一头文件下函数函数和函数值得调用,而外部变量的正确引用则是主要问题。 在一个函数中,会存在在同一头文件下,多个源文件的情况,出现多个源文件是为了使函数更加容易阅读,避免同一原文件下,函数的过长过多,对维护产生麻烦。 在调用外部变量时,应注意外部变量的声明,即 extern的应用...

2018-07-23 22:49:53

阅读数 810

评论数 0

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