数据结构
不徐不急
命,弱者的借口;运,强者的谦词。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构之队列--第一篇
说到队列,就经常会想起饭堂的“排队长龙”。队列,也是一种特殊的被限定的数据结构。特殊在于队列只能在队头取元素,只能在队尾进元素。实现队列需要三个元素:即①用来存放元素的数组。②两个指针。其中头指针指向队头元素(下标不一定为0哦),尾指针指向队尾元素+1的那个位置。队列有两种操作:①入队操作:即把元素放到队尾指针所指位置,而后队尾指针往下一个位置移动。(...原创 2019-07-08 22:24:08 · 223 阅读 · 0 评论 -
数据结构之时间片轮转--队列第二篇
时间片轮转算法(Aizu - ALDS1_3_B:Queue)题意:There are n processes in a queue. Each process has namei and timei. The round-robin scheduling handles the processes in order. A round-robin scheduler gives ...原创 2019-07-09 14:06:50 · 909 阅读 · 0 评论 -
数据结构之STL队列--第三篇
这篇我们用STL里面的 queue 库来写上一篇的时间片轮转调度算法。queue 库里面主要有:①TYPE &back(); back()返回一个引用,指向队列的最后一个元素。②bool empty(); empty()函数返回真(true)如果队列为空,否则返回假(false)。③TYPE &front(); ...原创 2019-07-09 14:42:49 · 201 阅读 · 0 评论 -
逆波兰表达式的程序计算
首先,我们得对三种表达式有一个简单了解:前缀表达式:操作符在操作数前面,又叫波兰表达式。中缀表达式:操作符在操作数之间。后缀表达式:操作符在操作数后面,又叫逆波兰表达式。为什么会有这三种表达式呢?本来,有中缀表达式形如“1+((2+3)×4)-5”就够了,很方便人们理解,但后来计算机不干了,它不理解,准确的说,我们比较难让计算机理解我们的理解。哈哈哈,有点绕。于是后...原创 2019-07-04 22:07:57 · 459 阅读 · 0 评论 -
利用栈计算逆波兰表达式
栈:一种后进先出(LIFO)的数据结构实现栈需要:数组+指向栈顶的普通变量(可以看成手指,或者是指针)数组 a 和变量 top:元素 1 准备入栈:top往前移动一位,放进去 1 :元素 2 入栈,同理:接下来,出栈,根据规则,只能是栈顶元素(即top指向元素)出栈:返回top所指元素即可,但记得要把top往后移动一位。所以栈有两个基本操作...原创 2019-07-05 21:10:46 · 667 阅读 · 0 评论 -
利用 STL 中的 stack
在上一篇中我们讲了如何用栈的基本构架。但在实战中,或者算法竞赛中,往往利用已经封装好的 “stack” 库来使用栈,毕竟,bug往往就产生在你觉得OK的代码之上。stack中有6中基本操作:①bool empty(); 如果当前堆栈为空,empty() 函数 返回 true 否则返回false.②void pop(); pop() 函数移除堆栈中...原创 2019-07-05 21:47:59 · 327 阅读 · 0 评论 -
双向链表之上篇
首先,我们得定义结点:双向链表需要前后两个指针,pre指向前一个元素,next指向后一个元素。结点当然要保存数据key了,当然 key 也可以换成另外一个结构体,比如学生信息之类的。初始化函数:我们定义一个里面不含实际数据的头节点,方便操作。注意这里用new而非malloc,如果键值是一个结构体,比如学生结构体,而且里面含有字符串类型,比如string name,那么如果这里申...原创 2019-07-19 12:20:42 · 195 阅读 · 0 评论 -
双向链表之下篇--Aizu-ALDS1_3_C
题目链接:https://vjudge.net/problem/Aizu-ALDS1_3_C题意很简单,就是让我们使用双向链表。在上篇中我们讲了双向链表的基本操作,但如果比赛要从头写,估计会吐血。我们可以用STL 里面 的 list 来使用双向链表:AC代码:#include<iostream>#include<list>using namespa...原创 2019-07-19 12:52:01 · 223 阅读 · 0 评论 -
Aizu-ALDS1_3_D——截面图上的区域
原题链接(OJ可提交):https://vjudge.net/problem/Aizu-ALDS1_3_D大意是:给定一个横截面图,如果发生洪水灾害,计算并报告哪些区域会被淹没。如图:用 \ / 和_ 来模拟地形,下面的样例输入对应上图,输出中35是水的总面积,5是有5个被淹没区域。这题的解题关键:水平面如图可知,前面几个区域还是三角形,等腰梯形之类的,但...原创 2019-07-19 20:02:14 · 758 阅读 · 0 评论
分享