栈代码的实现
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920 ...
栈和队列
定义:
栈和队列是两种常用的,重要的数据结构
栈和队列是限定插入和删除只能在表的“端点“进行的线性表
其中栈,规定再插入的时候只能插入在表尾,删除的时候也只能删除最后一个
”后进先出“ 是栈的结构特点
数值转换
表达式求值
括号匹配的检验
八皇后的问题
行编辑的程序
函数调用
迷宫求解
函数调用
迷宫求解
递归调用的实现
其中队列,规定插入的时候 只能在表尾插入,删除的时候只能在表头删除。
”先进先出“是队列的结构特点,使得队列可以解决类似排队问题的有用工具
脱机打印输出:按申请的先后顺序依次输出
多用户系统中,多个用户排成队,分时的循环使用CPU和主存
按用户优先级拍成多个队,每个优先级一个队列
实时控制系统中,信号按接受的先后顺序依次处理
网络电文传输,按照到达的时间先后顺序依次进行
栈的结构和特点
栈是一个特殊的线性表,是限定仅在一段(通常是表尾)进行插入和删除操作的线性表
又称为后进先出(Last In First Out)的线性表,简称LIFO结构
栈的相关概念
栈是仅在表尾进行插入,删除操作的线性表。表尾(即an端)称为栈顶Top ...
串
串:内容受限制的线性表(里面内容只能是字符串)
S = "a1a2a3·····an"(n≥0)
串名:S;
串值:“a1a2a3·····an”;
串长:n;
空串:n = 0;空集
子串:一个串中任意个连续字符组成的**子序列(含空串)**称为该串的子串
例如,“abcde”的字串有:
“”, “a”,"ab", "abc","abcd","abcde"
真子串是指不包含自身的所有子串
主串:包含子串的串相应的称为主串
字符位置:字符在序列中的序号为该字符在串中的位置
字串位置:子串第一个字符再主串中的位置
空格串:有一个或多个空格组成的串,与空串不同
例:字符串a,b,c,d
a = "BEI";
b = "JING";
c = "BEIJING";
d = "BEI JING"
它们的长度是:3,4,7,8
c的子串:a b
d的子串 ...
关于KMP算法的实现,如果转载请标明出处
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118#include <stdio.h>#include <stdlib.h>#include <string.h>#define OK 1#define ERROR 0#define status int typedef struct sstring{ char ch[50]; int length;}Sstring, *Lstring;status InitString(Lstring& ...
数据结构
1.数据
数值型
1 2 3
非数值型
文字,图像, 图形
2.数据元素和数据项
数据元素
组成数据的基本单位就是数据元素
例如
学号
姓名
性别
出生日期
政治面貌
0001
张三
男
20020514
团员
0002
李四
男
20030604
团员
0003
王五
男
20040507
团员
每一行就是一个数据元素,或者称为记录,节点或顶点
数据项
组成数据元素的不可分割的最小单位
例如上面的表中每一列就是一个数据项
数据 >数据元素>数据项
学生表>个人纪录>学号,姓名·····
3.数据对象
是性质相同的数据元素的集合,是数据的一个子集
例如整数的数据对象是集合N={1,2,3··}
4.数据对象与数据元素
数据元素 ------ 组成数据的基本单位
与数据的关系: 是集合的个体
数据对象 ----- 性质相同的数据元素 的集合
与数据的关系是:集合的子集
5.数据结构
数据结构
数据元素不是孤立存在的,他们 ...