数据结构
Comme_un_chien
这个作者很懒,什么都没留下…
展开
-
数据结构--p->next
数据结构--p->next刚学链表的时候,遇到如 p->next 这样的指针操作就会很懵逼,甚至有的 p = p->next 就更头大了,为此不得不回去重新研究指针,才发现原来是结构体的锅1、p->next 的理解刚开始的时候对 p->next 这样的操作以为是指针 p指向了下一个节点。但其实是 p指向的结构体的指针 指向了下一个节点。附上代码普通的指针访问结构体成员代码//定义一个结构体struct Node{ int a; int原创 2021-05-23 16:40:33 · 7196 阅读 · 7 评论 -
KMP模式匹配算法实现
#include<iostream>#include<string.h>using namespace std;int *GetNext(char *s, int *next){ int i = 0; int j = -1; next[0] = -1; while (i < strlen(s)) { //判断j == -1 || s[i] == s[j] if (j == -1 || s[i] .原创 2021-07-07 16:29:11 · 104 阅读 · 0 评论 -
数据结构--链栈的实现
#include<iostream>using namespace std;typedef struct StackNode{ int date; StackNode* next; StackNode() :date(0), next(nullptr) {}}StackNode;class LinkStack{private: StackNode* top;//栈顶指针public: LinkStack() :top(nullptr).原创 2021-07-05 19:44:05 · 87 阅读 · 0 评论 -
数据结构--栈
#include<iostream>using namespace std;/*栈:先进后出、后进向出,仅在表尾i而进行插入和删除操作的线性表。主要分为顺序栈(数组)、链栈(链表)*/class stack{private: int *date; int top; //top记录入栈元素的位置。top=0,表示入栈1个元素。top=-1表示空栈。top=size-1表示满栈 const int size = 100;public: stac.原创 2021-07-05 17:28:16 · 67 阅读 · 0 评论 -
数据结构--共享栈
#include<iostream>using namespace std;class ShareStack{private: int *date; int top1;// 表示栈1中的top指针 int top2;//表示栈2中的top指针 const int MaxSize;public: ShareStack(int n):MaxSize(n), top1(-1), top2(n), date(new int[n]){} //入.原创 2021-07-05 17:27:04 · 82 阅读 · 0 评论 -
双向链表的创建-插入-删除-遍历-销毁操作
#include<iostream>using namespace std;/*循环链表:将单链表的终端节点的指针端由空指针改为指向头节点,即头尾相接双向循环链表:每个节点保存指向前驱节点的指针两个表:head->A->B->C->D->E->F->headhead->a->b->c->d->e->f->head合成为一个循环链表的思路:1、将尾指针指向第二个链表的首节点2、将第二个链表的.原创 2021-07-04 18:19:27 · 768 阅读 · 0 评论