![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 77
指尖上的凤尾蝶
哈哈,我是个小菜。
展开
-
顺序表
顺序表原创 2016-01-22 22:22:48 · 339 阅读 · 0 评论 -
单链表
LinkList.h#define OK 1#define FALSE 0//#define ElemType inttypedef int Status;typedef int ElemType;typedef struct Node{ ElemType data;//数据元素 struct Node * pNext;//指针遇指向下一个节点}Node;typedef原创 2016-01-28 12:07:20 · 189 阅读 · 0 评论 -
静态链表
最近在看《大话数据结构》,感觉思路讲的挺好的,但是和有些数据结构书籍有个共同的瑕疵,那就是没有写主函数,没有用主函数调用每一个函数,只是单列函数代码,这样感觉连不起来,然后我就看了看它们的代码,然后自己重写一遍按照自己的思路,学生党菜鸟写的不好,勿喷。静态链表思路:我们先定义这样一个结构体:typedef int ElemType;typedef int Status;type原创 2016-02-03 16:10:20 · 326 阅读 · 0 评论 -
中缀表达式转后缀表达式,并计算后缀表达式值
中缀表达式:也就是一般的算术表达式,如"9+(3-1)*3+10/2这样的后缀表达式:就是将运算符挪到操作数后面,但这样的挪动是有规则的,例如上式转换后缀表达式后是这样的:"9 3 1-4*+10 2/+"中缀转后缀表达式规则:从左到右遍历中缀表达式中的每一个·数字和符号:1.如果是操作数就输出,成为后缀表达式的一部分2.如果是运算符,先判定它与栈顶元素的优先级,如果栈顶元原创 2016-02-26 13:15:23 · 462 阅读 · 0 评论 -
链式栈
直接上图:代码:Linkstack.h源文件:#includetypedef int ElemType1;typedef struct StackNode{ ElemType1 data; struct StackNode * pNext;}StackNode,*LinkStackPtr;typedef struct LinkStack{ LinkStac原创 2016-02-26 14:06:15 · 168 阅读 · 0 评论 -
循环队列
如果使用数组来模拟队列,在出队时,要频繁移动队列中元素,因此使用循环队列来避免这个问题如果头指针和尾指针所指位置之间的间隔只有一个元素,那么在次入队时,头指针和尾指针将指向同一个位置,这时将无法确定是队满,还是队空所以解决这个问题的方法有两种:1.队列中空出一个元素的位置来隔开头尾指针2.设置一个标识变量flag,当头尾指针指向位置相同时,如果队满flag = 1,原创 2016-02-27 10:16:22 · 310 阅读 · 0 评论 -
链式队列
LinkQueue.h#includetypedef int ElemType;typedef struct StackNode{ ElemType data;//值域 struct StackNode * pNext;//指向下一个元素}StackNode;typedef struct { StackNode * front;//指向队列中首元素 StackNod原创 2016-02-27 19:02:30 · 221 阅读 · 0 评论