自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

2021-10-04 18:41:07 3874

原创 【数据结构】循环队列的基本操作

循环队列的基本操作循环队列的基本操作函数循环队列的基本操作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关注的人

提示
确定要删除当前文章?
取消 删除