data structure
文章平均质量分 80
x-inda
这个作者很懒,什么都没留下…
展开
-
括号匹配的检验
一、题目◆3.19④ 假设一个算术表达式中可以包含三种括号:圆括号"(" 和")",方括号"["和"]"和花括号"{"和"}",且这三种括号可按任意的次序嵌套使用(如:…[…{…}…[…]…]…[…]…(…)…)。编写判别给定表达式中所含括号是否正确配对出现的算法(已知表达式已存入数据元素为字符的顺序表中)。 实现下列函数:Status MatchCheck(S转载 2016-10-13 13:37:18 · 1392 阅读 · 0 评论 -
将表达式转换成逆波兰式
一、题目◆3.21③ 假设表达式由单字母变量和双目四则运算算符构成。试写一个算法,将一个通常书写形式且书写正确的表达式转换为逆波兰式。实现下列函数:char *RPExpression(char *e);/* 返回表达式e的逆波兰式 */Stack是一个已实现的栈。可使用的相关类型和函数:typedef char SElemType; // 栈St转载 2016-10-13 13:38:28 · 3187 阅读 · 1 评论 -
带头结点的循环链表表示队列的初始化、入队列和出队列的算法
假设以带头结点的循环链表表示队列,并且只设一个指针指向队尾元素结点(注意不设头指针),试编写相应的队列初始化、入队列和出队列的算法。带头结点循环链队列CLQueue的类型为以下LinkList类型:[cpp] view plain copy typedef struct LNode{ ElemType data; st转载 2016-10-13 13:39:36 · 7276 阅读 · 0 评论 -
【头指针,头结点、首元节点】
链表中第一个结点的存储位置叫做头指针,那么整个链表的存取就必须是从头指针开始进行了。之后的每一个结点,其实就是上一个的后继指针指向的位置。这里有个地方要注意,就是对头指针概念的理解,这个很重要。“链表中第一个结点的存储位置叫做头指针”,如果链表有头结点,那么头指针就是指向头结点数据域的指针。画一个图吧。 头指针就是链表的名字。头指针仅仅是个指针而已。头结转载 2016-10-08 13:25:40 · 1209 阅读 · 0 评论 -
线性表
1.线性表的概念 线性表的存储结构有顺序存储结构和链式存储结构两种。前者成为顺序表,后者称为链表。顺序表:顺序表就是把线性表中的所有元素按照其逻辑顺序,一次存储到从指定的存储 位置开始的一块连续的存储空间中,如下图所示。链表在链表的存储中,每一个节点不仅包含所存元素本身的信息,还包含元素之间的逻辑关系的信息,即前驱节点包含后继节点的地址信息,这样就可以通过前驱节点中的地址转载 2016-10-08 13:45:44 · 335 阅读 · 0 评论 -
反转单链表的几种方法
反转单链表的几种方法 最近试着做一些笔试面试题,既是为来年找工作做准备,也可以做为数据结构和算法的复习笔记,就陆续发在这里吧,有需要的朋友可以看一下,如果有没考虑周全的地方欢迎指正。 先来一个最常见的题目:反转单链表。假设单链表的数据结构定义如下: typedef struct LNode{ int转载 2016-10-08 13:56:32 · 198 阅读 · 0 评论