
数据结构
C
錒阳_Yang
_Yang
展开
-
串的模式匹配算法——BF
算法原理 朴素的模式匹配算法(Brute-Force)又称为古典型的、有回溯的算法。 BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配, 若相等,则继续比较S的第二个字符和T的第二个字符; 若不相等,则比较S的第二个字符和P的第一个字符,依次比较下去; 直到得出最后的匹配结果。 C代码实现: #include <stdio.h> #include <stdlib.h> #include <string.h> int find(char *s原创 2021-06-26 15:27:48 · 733 阅读 · 0 评论 -
循环队列的基本实现
一、 队列定义 队列(Queue)是一种先进先出(FirstInFirstOut,FIFO)的线性表,只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。 二、队列的溢出 顺序队列中的溢出现象: (1) "下溢"现象:当队列为空时,做出队运算产生的溢出现象。“下溢”是正常现象,常用作程序控制转移的条件。 (2)"真上溢"现象:当队列满时,做进栈运算产生空间溢出的现象。“真上溢”是一种出错状态,应设法避免。 (3)"假上溢"现象:由于入队和出队操作中,头尾指针只增加不减小,原创 2021-05-22 12:54:49 · 870 阅读 · 0 评论 -
C语言栈的顺序实现
1、 栈(stack)又名堆栈,它是一种运算受限的线性表。 限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。 2、向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素; 3、从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。 //顺序栈的实现 #include <stdlib.h> #include <stdio.h> #define MAX_SIZE 1.原创 2021-05-19 18:47:48 · 421 阅读 · 0 评论 -
C语言单向链表的几种操作
单向链表 链式存储中每个结点都包含两个部分:数据域、指针域。 如果节点中只有指向后继的指针,那么这些结点组成的链表成为单向链表。 // 带头结点单链表、基本操作 #include<stdio.h> #include<stdlib.h> // 定义结点结构体 typedef struct node { int data; struct node *next; } node; ...原创 2021-04-17 18:17:27 · 135 阅读 · 0 评论