2017年6月5日

摘要: 通过上面的分析我们已经对循环队列很了解了,现在我们来学习下循环队列的实现形式 1、代码使用数组现实循环队列 阅读全文
posted @ 2017-06-05 21:38 luzhouxiaoshuai 阅读(215) 评论(0) 推荐(0)
摘要: 上面讲解都是循环队列,如果是链表实现的话就很简单,队列只有循环队列才比较复杂 此时队列中只存储一个有效元素3,当在删除一个元素的时候,队列为空,pFont向上移动,pFont等于pRear,但是此时pFont的值不为null 1、下面分析下如何向队列中添加元素 我们添加元素的时候只有在pRear的地 阅读全文
posted @ 2017-06-05 20:17 luzhouxiaoshuai 阅读(311) 评论(0) 推荐(0)
摘要: 队列是一种可以实现一个先进先出的存储结构 什么是队列? 队列(Queue)也是一种运算受限的线性表。它只允许在表的一端进行插入,而在另一端进行删除。允许删除的一端称为队头(front),允许插入的一端称为队尾(rear)。 栈,只能在栈顶进行操作,队列是一端进入,一端输出 队列也是头部和尾部 rea 阅读全文
posted @ 2017-06-05 18:51 luzhouxiaoshuai 阅读(345) 评论(0) 推荐(0)
摘要: pBottom执行栈底有效元素的前一个节点,该节点没有存储有效数据,这样设计是便于栈的管理,向链表一样pHead指向链表的第一个节点,该节点是不存储有效数据的 pTop执行栈顶最新的节点 如果pTop和pBottom的值一样,说明栈是空的 经过初始化栈之后,栈的结构是: 向栈中添加一个数据 所以pB 阅读全文
posted @ 2017-06-05 15:25 luzhouxiaoshuai 阅读(170) 评论(0) 推荐(0)
摘要: 栈的分类: 栈可以分为静态栈和动态栈 静态栈:要删除先删除4才能删除3,以数组为数据结构 动态栈:以链表作为数据结构,在实际中使用动态栈比较多 阅读全文
posted @ 2017-06-05 14:26 luzhouxiaoshuai 阅读(233) 评论(0) 推荐(0)
摘要: 上面的局部变量 i int*p中的p指针变量,是在栈中分配的,malloc申请的内存是在堆中分配的,动态申请的都在堆中分配的。 栈是一种数据存储的结果,先进后出的数据结构。 阅读全文
posted @ 2017-06-05 14:23 luzhouxiaoshuai 阅读(131) 评论(0) 推荐(0)
摘要: #include #include #include #include typedef struct Node{ int data;//数据源 struct Node* pNext;//指针域 }NODE,*PNODE; // NODE等价于struct Node,PNODE等价于struct Node*; //函数的声明 //创建一个非循环的链表 PNODE... 阅读全文
posted @ 2017-06-05 14:13 luzhouxiaoshuai 阅读(168) 评论(0) 推荐(0)
摘要: 程序的运行结果是 : 阅读全文
posted @ 2017-06-05 13:56 luzhouxiaoshuai 阅读(199) 评论(0) 推荐(0)
摘要: #include #include typedef struct Node{ int data;//数据源 struct Node* pNext;//指针域 }NODE,*PNODE; // NODE等价于struct Node,PNODE等价于struct Node*; //函数的声明 //创建一个非循环的链表 PNODE create_list(void){ ... 阅读全文
posted @ 2017-06-05 11:23 luzhouxiaoshuai 阅读(293) 评论(0) 推荐(0)
摘要: 创建一个非循环的链表 我们来看下程序运行的效果 上面创建的是一个非循环的单项列表,现在要创建一个循环的单项列表 我们都知道,单向链表最后指向为NULL,也就是为空,那单向循环链表就是不指向为NULL了,指向头节点,所以下面这个程序运行结果就是,你将会看到遍历链表的时候就是一个死循环,因为它不指向为N 阅读全文
posted @ 2017-06-05 10:58 luzhouxiaoshuai 阅读(254) 评论(0) 推荐(0)

导航