链表
NI_oy
这个作者很懒,什么都没留下…
展开
-
栈的简介
栈-Stack顺序存储的栈栈的结构栈的基本操作两栈公用空间结构基本操作链栈链栈的结构链栈的基本操作顺序存储的栈 首先我们简单了解下什么是栈,做个比喻,把书堆叠起来,然后再拿走就是栈的特点:后进先出(Last In First Out),并且只能再栈顶进行操作(添加或删除)。话不多说,上代码:栈的结构struct Stack { int top; string* data;};简单加几个功能看看const int MAX = 10;struct Stack { int top;原创 2020-09-20 22:34:43 · 103 阅读 · 0 评论 -
双向循环链表简介
同单向链表比较,双向链表的优势在于查找的方便性; 单向循环链表仅对于该节点及后继结点的查找便利,但当查找结点前驱节点时就遇到最高时间复杂度O(n),遍历一周; 双向循环链表则只需要O(1),详细代码如下;定义链表结点 给出了两个指针prior 和 next,一个指向前驱结点,一个指向后继结点;struct DulNode{ string data; DulNode* prior; DulNode* next; DulNode():data(""),prior(nullptr.原创 2020-09-18 16:22:46 · 2427 阅读 · 0 评论 -
静态链表简介
静态链表在存储结构上将使用的是整块的连续的存储空间,而普通链表是零散的并非连续的存储空间。 采用数组的形式构建链表,打破了之前的“数组”与“链表”的区别,在增加删减结点的时候巧妙运用了链表的结构思想,可以看作 "数组形式的链表",下面给出详细的部分代码。struct StaticLinkList {private: string data ; int cur ; int n ;public: StaticLinkList(int a) :data(""), cur(0),n(a) {}.原创 2020-09-17 22:34:07 · 632 阅读 · 0 评论 -
链表--数组链表
我们也有不用指针的链表,我们之前学的链表是由结构体形成的,譬如说struct stu{ int no; char* name; int score; stu* next;};如此,通过"stu* head"指针不断链接节点,但是创建有些麻烦,现在就 说个简单些的链表,但是这里用来存储的 数据(仅为整型),虽然简单些,但是存储内容有限:因为这边就是用 存储数字 作为下标 逐步进行...原创 2020-03-29 00:25:57 · 137 阅读 · 0 评论