22、数据结构笔记之十九列队实现离散事件模拟
2017-09-14 00:06
274 查看
22、数据结构笔记之十九列队实现离散事件模拟
“现实是此岸,理想是彼岸,中间隔着湍急的河流,行动则是架在河上的桥梁。”
这篇开始我们学习串相关的数据结构。
1)串(string)是由零个或多个字符组成的有限序列,又名叫字符串。
2)串中含有的字符数据称为串的长度,零个字符的串称为空串(null string),它的长度为零。
3)子串与主串,串中任意个数的连续字符组成的子序列称为该串的子串,相应地,包含子串的串称为主串。
4)子串在主串中的位置就是子串的第一个字符在主串中的序号。
规定在串值后面加一个不计入串长度的结束标记字符,比如“\0”来表示串值终结。
串的顺序存储方式其实可能会有问题,因为字符串的操作,比如两船的连接Concat、新串的插入等操作,都有可能使得串序列的长度超过了数组长度MaxSize。于是对于串的顺序存储,有一些变化,串值的存
储空间可在程序执行过程中动态分配而得。比如在计算机中存在一个自由存储区,叫做堆。这个堆可由C语言的动态分配函数malloc()和free()来管理。
“现实是此岸,理想是彼岸,中间隔着湍急的河流,行动则是架在河上的桥梁。”
这篇开始我们学习串相关的数据结构。
1. 串的相关概念
1)串(string)是由零个或多个字符组成的有限序列,又名叫字符串。
2)串中含有的字符数据称为串的长度,零个字符的串称为空串(null string),它的长度为零。
3)子串与主串,串中任意个数的连续字符组成的子序列称为该串的子串,相应地,包含子串的串称为主串。
4)子串在主串中的位置就是子串的第一个字符在主串中的序号。
2. 串的存储结构
与线性表相同,分为两种。2.1 串的顺序存储结构
串的顺序存储结构是用一组地址连续的存储单元来存储串中的字符序列的。按照预定义的大小,为每个定义的串变量分配一个固定长度的存储区。一般是用定长数组来定义。规定在串值后面加一个不计入串长度的结束标记字符,比如“\0”来表示串值终结。
串的顺序存储方式其实可能会有问题,因为字符串的操作,比如两船的连接Concat、新串的插入等操作,都有可能使得串序列的长度超过了数组长度MaxSize。于是对于串的顺序存储,有一些变化,串值的存
储空间可在程序执行过程中动态分配而得。比如在计算机中存在一个自由存储区,叫做堆。这个堆可由C语言的动态分配函数malloc()和free()来管理。
2.2 串的链式存储结构
串的链式存储结构除了在连接串与串操作时有一定方便外,总的来说不如顺序存储灵活,性能也不如顺序存储结构好。相关文章推荐
- 21、数据结构笔记之十九列队实现离散事件模拟
- 数据结构——离散事件模拟
- 19、数据结构笔记之十九链表实现等价类寻找
- 离散事件模拟---银行业务模拟c++实现
- 数据结构笔记及Java实现 (排序)
- 数据结构——模拟集合的实现(2)
- 数据结构基础(22)--红黑树的设计与实现(上)
- 数据结构上机题目--离散时间模拟(银行等待问题)
- 6、数据结构笔记之六链队列实现
- 11、数据结构笔记之十一栈的应用之表达式求值实现
- 数据结构与算法学习笔记——动态规划的入门与编程实现
- 12、数据结构笔记之十二栈的应用之栈与递归之阶乘实现
- 8、数据结构笔记之八栈的应用之括号匹配检验实现
- 9、数据结构笔记之九栈的应用之行编辑实现
- 数据结构与算法学习笔记——链表部分实现(数组形式)
- 数据结构 学习笔记之:顺序栈的C语言实现
- 离散事件模拟实现——数据结构(C语言版)
- 【学习笔记----数据结构22-图的关键路径】
- 【数据结构笔记】4:非递归实现深度优先搜索(DFS)
- C++实现离散事件模拟--Bank_Simulation