- 博客(6)
- 收藏
- 关注
原创 数据结构学习之路6 用链表实现堆栈
这次代码一波两折,本来想着堆栈这种结构只有一端进行操作,这样我只记录rear的位置就好了,就不用像链表实现的队列内样定义两个结构体,然后我就一路写,push函数直接使p指向队尾就好,结果写到pop的时候就傻眼了,我找不到上一个节点!我的指针指向着最后一个节点,那我怎么出栈呢?想了好久,一度想要写出双链表,看了别人的思路之后才发现可以倒着写,大家如果不懂我为什么说是倒着写,可以画一画这个程序的逻辑,
2017-07-31 00:28:42 531
原创 数据结构学习之路5 队列的应用——多项式相加
此次代码不支持键盘输入两个待加的多项式,需要在程序内部设定两个多项式,然后计算他们的和,用到的数据结构是链表形式的队列 代码如下#include using namespace std; typedef struct Qnode *Queue; struct Qnode{ int xishu; int zhishu; Queue next; }; int Compare(int a, in
2017-07-30 16:08:14 560
原创 数据结构学习之路4 队列的基本操作(顺序存储的循环队列+链表实现)
队列先进先出,这里用了顺序(数组)和链式两种方式实现,下次再用链式存储实现以下堆栈试试 循环队列://顺序存储结构的循环队列 #include using namespace std; #define MAXSIZE 100 typedef struct Qnode *Queue; struct Qnode{ int data[MAXSIZE]; int front; int rear;
2017-07-29 00:26:56 540
原创 数据结构学习之路3 堆栈的基本操作
做了些无用功,写了栈的遍历和查找,这个应该是多此一举了……主函数写了简单的程序测试,测试没问题#include #include using namespace std; #define MAXSIZE 100 struct Stack{ int data[MAXSIZE]; int top; }; typedef Stack *stack; stack creat(){ stack p;
2017-07-29 00:23:02 415
原创 数据结构学习之路2 链表存储的线性表
#include using namespace std; struct List{ int data; List *next; }; typedef List *list; list creat(){ list p; p = (list )malloc(sizeof(List)); p ->next = NULL; return p; } void insert(int x, int
2017-07-29 00:20:48 173
原创 数据结构学习之路1 顺序存储的线性表
#includeusing namespace std;#define MAXSIZE 100//顺序表typedef struct Lnode{int data[MAXSIZE];int last;}Lnode;Lnode *empty(){Lnode *p;p = (Lnode *)malloc(sizeof(Lnode));p -> last = -1;return p;}void inse
2017-07-27 09:52:04 299
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人