数据结构
文章平均质量分 63
Yang Special
你若盛开,蝴蝶自来。
展开
-
双向链表的实现
简介双向链表是单链表的升级版,在双向链表中可以在O(1)的时间内访问到节点的前驱,这在单链表中需要重新开始遍历,双向链表无疑让链表的插入和删除操作更加简便,仅使用一个已知的指针就可以完成操作。但是每个节点需要消耗额外的指针空间来存放节点的前驱信息,典型的空间换时间的例子。 不带头结点的双向链表链表定义(head.h):#include <iostream>using namespace std;原创 2017-06-30 13:24:44 · 1170 阅读 · 0 评论 -
C/C++结构体语法总结
结构体简介结构体属于聚合数据类型的一类,它将不同的数据类型整合在一起构成一个新的类型,相当于数据库中一条记录,比如学生结构体,整合了学号,姓名等等信息。结构体的好处就是可以对这些信息进行整体管理操作,类似面向对象中类的属性,有了结构体,我就可以更好抽象描述一个类别,个人感觉类就是由结构体发展而来的。在C/C++中,结构体声明的关键字为struct。C语言结构体语法第一种语法表示: struct 结原创 2017-06-21 21:01:18 · 33517 阅读 · 1 评论 -
单链表的基本操作(C++实现)
什么是链表链表属于线性表的一种,所有的数据按线性顺序排列。还有一种线性表是数组,这种数据结构各有各的优点,数组可以随机访问,并且可以根据下标在O(1)的时间内访问数据,而链表不可以随机访问,链表的顺序是由各个对象里的指针决定的。数组在内存中是顺序存储,所以会占一大部分连续的存储空间,而链表可以分散存储,之间的联系靠指针指向就可以,方便使用内存的零碎的空间。在增删方面,数组也是不理想的,每次增删都要移原创 2017-06-22 20:05:19 · 10985 阅读 · 2 评论