- 博客(8)
- 收藏
- 关注
原创 初步接触并发编程c++
并发编程是指在同一时间段内,多个计算任务可以同时进行,以提高程序的执行效率。它主要通过多线程或多进程来实现,能够充分利用多核处理器的优势,毕竟手机都八核了 bushi(
2024-11-11 21:17:02
561
原创 栈的链式存储
在刚开始学习数据结构的时候,我们学习了线性表的链式存储(单链表)。而栈只针对栈顶进行删除和插入操作,那么我们可以把它理解成只针对一段进行写入和删除操作的线性表。由于单链表是有头指针,而栈顶指针也是必须的。所以比较好的办法就是将栈顶放在单链表的头部,此时已经有栈顶在头部了,我们常用的头结点也没有意义了。通常的来讲,链栈不需要头节点。对于链栈来说,通常不存在栈满的情况,除非内存真的没有空间了。但是对于空栈来说,链表原定义是头指针指向空,那么我们的判空条件即为top=NULL。上代码// 数据域。
2024-09-15 13:11:19
406
原创 共享栈:两栈共享空间
上一篇文章我们学到了栈的顺序存储,这种方法只允许在栈顶针对元素进行操作,所以他并不存在像线性表一样在插入或删除操作时考虑移动元素的问题。但是他的缺陷也很明显,就是在开始我们就需要确定数组的空间的大小,万一不够用了,我们就需要使用编程手段来进行扩容(栈的链式存储),相当麻烦。但是相对的,如果有两个相同类型的栈,我们的操作空间就会更大一些。打个比方说,两个大学室友毕业同时去武汉工作。刚开始时,他们觉得住了这么就得集体宿舍,现在工作了,应该有一点属于自己的空间。
2024-09-01 20:07:41
1403
原创 数据结构:栈(数组模拟)
栈是指限定仅在表尾进行插入和删除操作的线性表。所以它和前面的链表以及后面的队列一样,都是线性表,它们都有相同的逻辑结构对于栈来说,它的表尾段有着特殊的含义(只能在表尾进行操作),因此我们称其为栈顶。同样的,它的首段则被称为栈底。不含元素的栈,我们一般称其为空栈在我们日常生活中,类似栈的结构很常见,比方说,在我们编写word文档时的撤销操作,就是栈的结构其最下面的" 键入"1" "操作是我们最开始做的,而上面" 键入"回车" "(真的是回车,只是它没显示)的操作则是我们后进行的。
2024-08-26 21:40:01
522
原创 数据结构:线性表
n(n>=0)个数据特征相同(每个数据元素所占空间相同)的元素构成的有序(有次序)序列六种主要的操作:创 销 增 删 改 查// 存储线性表数据的数组指针// 线性表的最大容量和当前长度} SqList;// 定义一个顺序存储的线性表结构本文中的线性表均使用动态分配编写定义一个链表结点结构体 LNode,包含数据域 data 和指向下一个结点的指针 next,同时定义了一个指向 LNode 结构体的指针类型 LinkList。
2024-08-23 11:13:46
894
数据结构实验报告(集合)
2024-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人