- 博客(6)
- 收藏
- 关注
原创 时间复杂度和空间复杂度
在计算执行程序的过程中,有两个衡量一个程序的所要消耗的空间和时间,这两个单位就是空间和时间复杂度。 因为如果只是单纯的对计算机的执行时间进行一个时间复杂度的定义,因为每台计算机的执行速度因配置而定,很难完全相同,所以这样定义的时间复杂度是有问题的,但是如果将时间复杂度定义为一个程序最大执行的次数,就可以避开这个问题,因为无论是配置怎样高的计算机,他对一个程序的执行次数是肯定的,所以时间复杂度就是...
2019-09-25 17:39:15 202
原创 单向无头链表的基本操作
对于单向无头链表的基本操作有创建一个链表,销毁,从尾部加一个数进去,从头加一个数进去,从尾部删去一个,从头部删去一个,以及放回这个链表的长度。具体的实现并不难,只是一个简单的逻辑,需要注意的点就是,在进行尾部插入和删除的时候,一定要记得对最后的一个节点的next置为NULL,这样才能保证print函数和Size函数正常进行。 #include <stdio.h> #in...
2019-09-25 13:21:48 143
原创 有头的单链表的基本操作
对于单链表的基本操作有 初始化,销毁,以及头部插入,尾部插入,头部删除,尾部删除以及计算单链表的长度。 我这里的初始化函数,因为有一个链表头,所以malloc的时候,是从第二个空间进行空间开辟的。并且在释放的时候,也是从第二个空间开始释放的。并且头部的插入和删除,也都是第二个位置的删除与插入,如果需要修改头的值,就需要调用另外一个函数。这个我会在别的博客里面写清楚。 具体实现并不难,咋们直接...
2019-09-24 20:36:00 379
原创 单链表的逆序
我自己的链表逆序是通过三个指针,不停地进行位置的变换,然后直接对单向链表进行逆序,但我这里的单链表逆序的是因为没为我没有咋测试函数中进行返回值的接受,所以没行头指针的变换,大家看的时候注意一下,思路是我的思路,不需要头指针的自己改变一下测试函数以及初始化函数和释放函数就可了,思路图如下: 这张图便是直接翻转的思路,利用三个移动的指针,一个不动的指针,在开始的时候,先保证 bef 的 next...
2019-09-21 16:51:58 257
原创 C++的string
string就是字符串类,这个字符串类中有很多的方便我们进行操作的函数。 string类在进行使用的时候,需要引用头文件<string>,这样才能正常的进行这个类的操作。 string类的对象具有以下几个函数,分别是 :size() length() capacity() empty() clear() resize() reserve() 这几个函数,作用如下: ...
2019-09-21 13:20:30 162
原创 C++类和对象
在C++中,结构体内不仅可以定义变量,还可以定义函数。但是C++的结构体完全不同于C语言的结构体,C语言的结构体仅仅只是一个多个基本数据类型的集合,但在C++中,结构体却是类的一种体现。两者几乎没有差别。 面向对性的三大特性:继承、封装、多态。 C++的结构体即是是孔结构体,在内存中也是占有一字节的空间的。 类是什么:类就是遵循了面向对象的原则,对某一个真实存在的类抽象成为一个计算机中的类,...
2019-09-21 13:19:50 129
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人