![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++
数据结构
是个可爱的小伙砸
这个作者很懒,什么都没留下…
展开
-
青岛大学王卓老师数据结构——C++实现邻接表表示法创建无向图
#include <iostream>using namespace std;#include <string>#define MVNum 100 //最大顶点数//顶点的节点结构typedef struct VNode{ string data; //顶点信息 ArcNode *firstarc; //指向第一条依附该顶点的边的指针}VNode, AdjList[MVNum]; //AdjList v;相当于VNode v[MVNum];//弧原创 2020-07-12 20:44:33 · 371 阅读 · 1 评论 -
青岛大学王卓老师数据结构——C++实现二叉树的复制,计算深度, 计算节点总数, 计算叶子结点数
上代码#include <iostream>using namespace std;#include <string>typedef struct BiTNode{ string data; struct BiTNode *lchild, *rchild; BiTNode() { data = ""; lchild = NULL; //给创建的指针赋初值,消灭野指针 rchild = NULL; }}BiTNode, *BiTree;//原创 2020-07-09 21:42:54 · 277 阅读 · 0 评论 -
青岛大学王卓老师数据结构——C++实现二叉树的三种递归遍历
在敲代码的时候,没有给创建的指针赋初值,将其指向NULL,后面给二叉树赋值的时候没有全都赋值,故在编译运行代码的时候就报错了,报错为0x000E518B 处(位于 二叉树的遍历算法.exe 中)引发的异常: 0xC0000005: 读取位置 0xCCCCCCE0 时发生访问冲突。,图片如下经过查找和百度,因为存在野指针导致内存泄漏,所以写代码的时候还是要规范一些,避免出现这样的错误;下面是代码,可以正常运行#include <iostream>using namespace std;原创 2020-07-09 21:06:20 · 466 阅读 · 0 评论 -
青岛大学王卓老师数据结构——C++实现KMP算法
我也不是很懂,以后懂了再来改吧。#include <iostream>#include <string>using namespace std;int* GetNext(string T){ int *next = new int; int i = 1; int j = 0; next[1] = 0; while (i < T.length()) { if (j == 0 || T[i] == T[j]) { i++; j++;原创 2020-07-08 20:43:09 · 683 阅读 · 0 评论 -
青岛大学王卓老师数据结构——C++实现BF算法
#include <iostream>using namespace std;#include <string>int BF(string str, string temp){ int i = 0; int j = 0; //如果i和j是从1开始匹配的,此处的循环条件应该加上等于号 while (i < (int)str.length() && j < (int)temp.length()) { if (str[i] == te原创 2020-07-08 19:44:59 · 280 阅读 · 0 评论 -
青岛大学王卓老师数据结构——C++实现链队
#include <iostream>using namespace std;typedef int QElemType;//链队结构定义typedef struct QNode { QElemType data; struct QNode *next;}QNode, *QueuePtr;typedef struct{ QueuePtr front; //队头指针 QueuePtr rear; //队尾指针}LinkQueue;//链队初始化int原创 2020-07-08 11:17:22 · 214 阅读 · 0 评论 -
青岛大学王卓老师数据结构——C++实现顺序队列
#include <iostream>using namespace std;#define MAXSIZE 100typedef int QElemType;//结构代码typedef struct{ QElemType *base; //初始化分配存储空间 int front; //头指针(并不是真正的指针) int rear; //尾指针}SqQueue;//以下为循环队列的各种算法//初始化int InitQueue(SqQueue &Q)原创 2020-07-07 20:45:15 · 295 阅读 · 1 评论 -
青岛大学王卓老师数据结构——C++实现多项式相加
#include <iostream>using namespace std;typedef int ElemType;typedef struct Sqlist{ ElemType *elem; int length;};//初始化void InitSqlist(Sqlist &L){ L.elem = new ElemType[100]; L.length = 0;}int CreateSqlit(Sqlist &L, int n){原创 2020-07-07 20:16:33 · 289 阅读 · 2 评论 -
青岛大学王卓老师数据结构-C++实现链栈
直接上代码#include <iostream>using namespace std;typedef int SElemType;typedef struct StackNode{ SElemType data; struct StackNode *next;}StackNode, *LinkStack;//链栈的初始化void InitStack(LinkStack &S){ S = NULL; //构造一个空栈,栈顶指针为空 return ;}原创 2020-07-07 19:55:03 · 469 阅读 · 0 评论 -
青岛大学王卓老师数据结构-C++实现顺序栈
顺序栈的实现废话不多说 直接上代码下面展示 代码。```cpp#include <iostream>using namespace std;#define MAXSIZE 100typedef int SElemType;//定义栈的顺序表示typedef struct { SElemType *base; SElemType *top; int stacksize;}SqStack;//顺序栈的初始化int InitStack(SqStack &S原创 2020-07-07 19:07:11 · 523 阅读 · 0 评论