- 博客(10)
- 收藏
- 关注
原创 【数据结构】KMP算法、next数组、nextval数组代码实现
KMP算法、next数组、nextval数组代码实现(C语言版)计算next数组核心思想:找最长且小于串的公共前后缀,使得公共前缀滑动到公共后缀上计算next数组时候无需看s(主串),只看t(模式串)手写计算nextval时需要先计算next值,由next值求出nextval值1.计算next数组如果后一个和前一个字符相等,j就一直加,公共前后缀越长,next[i]的值就越来越大一旦前后不相等了,j就减小成next[j]了void get_next(char *t,int *n
2021-11-18 11:26:49 2748
原创 【数据结构】二叉树的层序遍历
#include <stdio.h>#include <stdlib.h>#define MAXQSIZE 100typedef struct BiTNode{ char data; struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;typedef struct{ BiTree data[MAXQSIZE]; int front; int rear;}SeQueue;int In.
2021-11-03 18:03:15 221
原创 【debug】写函数注意先后顺序
typedef struct BiTNode{ char data; struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;typedef struct{ BiTree data[MAXQSIZE]; int front; int rear;}SeQueue;先定义数,再写队列。因为在写队列的时候需要用BiTree data[MAXQSIZE];,需要数的构建地址。...
2021-11-03 17:36:22 161
原创 【数据结构】比较运算符优先级的函数(栈实现表达式的计算)
记下来!!!很重要,很方便。char Precede(char theta1,char theta2){ if((theta1=='('&&theta2==')')||(theta1=='#'&&theta2=='#')) return '='; else if(theta1=='('||theta1=='#'||theta2=='('||(theta1=='+'||theta1=='-')&&(theta2=='*'||theta
2021-11-03 16:19:10 3511 4
原创 【数据结构】二叉树的基本操作
一个月没更新博客了1.二叉数的二叉链表储存表示typedef struct BiTNode{ char data; struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;为了方便自己记忆,以及和前面学到的链表、栈、队列区分定义结构体(前面定义的结构体不需要写)*LinkList,他们(链表、栈、队列)只需要写LNode,就可以操作了,二叉树不行,二叉树需要用到二级指针,但是为什么用二级指针我现在还没有理解,等以后慢慢理解在更新这篇博客。
2021-11-03 16:13:30 197
原创 【数据结构】循环队列的基本操作
循环队列的基本操作循环队列的基本操作函数循环队列的基本操作1.定义循环队列2.初始化队列3.出队4.入队5.判断队空6.取队头元素1.定义循环队列typedef struct{ int data[MAXQSIZE]; int rear; int front;}SqQueue;2.初始化队列int InitQueue(SqQueue *q){ q->front=0; q->rear=0; return 1;}3.出队int
2021-10-03 16:21:35 2215
原创 【数据结构】链表的基本操作函数
链表链表的基本操作函数链表1.定义一个链表2.尾插法建立链表3.头插法建立链表4.将两个链表头尾相接5.将链表数据排序6.移除链表某个元素7.插入元素8.输出链表9.在主函数创建链表的要点1.定义一个链表typedef struct node{ int data; struct node *next;}LNode;2.尾插法建立链表void create_tali(LNode *h){ int x; LNode *p,*r; r=h; whi
2021-09-29 09:15:41 2425 3
原创 [数据结构]关于顺序栈的基本操作
关于顺序栈的基本操作函数此篇文章是写关于顺序栈的顺序栈的基本操作函数关于顺序栈的基本操作函数1.定义一个栈2.初始化栈3.判断栈空4.入栈5.出栈6.取栈顶元素7.关于栈的部分主函数1.定义一个栈简单版#define MAXSIZE 100typedef struct{ int top; int data[MAXSIZE];}SqStack;正常版typedef struct{ int *base;//栈底指针 int *top;//栈顶指针
2021-09-29 08:20:51 2265
原创 栈实现表达式的计算
栈实现表达式的计算//人生第一篇博客,还不知道怎么写hhh代码看着有点多,但是前面的几个函数都是栈的基本操作。**注意本题需要用两个栈,所以关于栈的基本函数需要用两个,代码翻倍了hhhh **#include <stdio.h>#include <stdlib.h>#define MAXSIZE 100//建立两个栈,一个opnd操作数栈,一个optr操作符栈typedef struct{ int top; int data[MAXSIZE];}
2021-09-28 21:56:01 325
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人