数据结构
阿修罗it
科学是神圣的
展开
-
静态数组实现栈
#define STACK_TYPE int void push(STACK_TYPE value); void pop(); STACK_TYPE top(); bool is_empty(); bool is_full(); void size(); 头文件 #include #define STACK_SI原创 2015-10-22 11:02:40 · 427 阅读 · 0 评论 -
静态数组实现队列
#include #include #define QUEUE_TYPE int /*队列元素的类型*/ void creat_queue(size_t size); /*创建一个队列,这只适用于使用动态分配数组的队列,链式的不 需要,普通数组实现的队列在编译时就已经确定大小*/ void destroy_queue(); //销毁一个队列,这只适用于链式的原创 2015-10-22 16:55:03 · 439 阅读 · 0 评论 -
数据结构与算法分析:栈与队列
以下是对数据结构中的栈和队列的一些总结: 一、栈 栈(Stack)是一种特殊的线性表,有后进先出(Last In First Out, LIFO)的性质,且只能从线性表的一段进行插入和删除元素等操作。 栈的常用操作有:进栈、出栈、取栈顶、将栈置空、判断栈是否为空、判断栈是否已满等等。 由于栈也属于线性表,因此线性表的存储结构对栈也适用,因此,使用数组或者单向链表均可以实现栈转载 2015-10-15 11:07:45 · 964 阅读 · 0 评论 -
单链表反转
从第2个节点到第N个节点,依次逐节点插入到第1个节点(head节点)之后,最后将第一个节点挪到新表的表尾。 Node* ReverseList(Node* head) { Node *p,*q; p=head->next; while(p->next!=NULL) //在这个循环过程中p所指的元素一直是不变的转载 2015-09-23 17:34:38 · 323 阅读 · 0 评论 -
二叉树的相关面试题
二叉树作为树的一种,是一种重要的数据结构,也是面试官经常考的东西。昨天看了一下关于树中的面试题,发现二叉树中的面试题比较常见的题型大概有下面几个:创建一颗二叉树(先序,中序,后序)、遍历一颗二叉树(先序,中序,后序和层次遍历)、求二叉树中叶子节点的个数、求二叉树的高度、求二叉树中两个节点的最近公共祖先、打印和为某一值的全部路径、求某一节点是否在一个树中等等。 再详细的说这些面试题之前,不妨先转载 2016-03-11 15:56:34 · 375 阅读 · 0 评论