数据结构系列
liu__cloud
这个作者很懒,什么都没留下…
展开
-
数据结构(十三) 线索二叉树讲解(不带头节点前序加线索) 以及实现的完整代码
引用线索二叉树的目的因为二叉链表中,假设有n个节点,指针指向为空的指针有n+1个,为了利用这些指针,引入了线索化的概念,而且为二叉链表加入线索化后,对二叉树的遍历便的很方便。加线索化分为:前序线索化,中序线索化,后序线索化。实现的代码如下:原创 2017-01-01 21:10:01 · 938 阅读 · 0 评论 -
数据结构(十) 链队列的基本操作 ----入队列,出队列,判断队列是否为空
//链队列的基本操作 #include using namespace std;//节点的结构体struct Node{int data;struct Node *next;};//队列的结构体struct queue{struct Node * front;struct Node *rear;}; //队列的初始原创 2016-12-31 19:02:05 · 10766 阅读 · 0 评论 -
数据结构(十一)循环队列的基本操作----6个基本操作
//顺序队列存在一个问题 ---假溢出现象,为了解决这个问题,提出了循环队列//循环队列中存在队空和队满条件一样的情况,因此提出了牺牲一个空间的方法 //循环队列的基本操作 #include using namespace std;#define MAXSIZE 5//队列的结构体struct Node{int *base;int front;int rear;}; //队列的初始化操作void原创 2017-01-01 13:32:52 · 2741 阅读 · 0 评论 -
数据结构(九) 用顺序栈实现中缀表达式转为后缀表达式
//用栈实现中缀表达式转为后缀表达式 //采用的存储结构为顺序存储结构 #include using namespace std;#define MAXSIZE 100 //栈的结构体struct Node{int *base; int *top;int stackSize;}; //初始化栈的操作 void initStack(str原创 2016-12-31 15:50:50 · 1273 阅读 · 0 评论 -
数据结构(八) 用顺序栈解决括号匹配的问题
//用栈括号匹配的问题 //采用的存储结构为顺序存储结构 #include using namespace std;#define MAXSIZE 100 //栈的结构体struct Node{int *base; int *top;int stackSize;}; //初始化栈的操作 void initStack(struct Nod原创 2016-12-31 13:12:24 · 1971 阅读 · 0 评论 -
数据结构(七) 顺序栈实现数制转换
//用栈处理数制的转换//采用的存储结构为顺序存储结构 #include using namespace std;#define MAXSIZE 100 //栈的结构体struct Node{int *base; int *top;int stackSize;}; //初始化栈的操作 void initStack(struct Node原创 2016-12-30 21:34:59 · 1871 阅读 · 0 评论 -
数据机构(五) 顺序栈的基本操作 --- 包含初始化,入栈和出栈
//顺序栈的基本操作 #include using namespace std;#define MAXSIZE 5//栈的结构体 struct Node{int *base;int *top;int stackSize;};//栈的初始化void initStack(struct Node &S){S.base = new i原创 2016-12-30 20:38:50 · 678 阅读 · 0 评论 -
数据机构(六) 链栈的基本操作
//链栈的基本操作 #include using namespace std;//栈的结构体 struct Node { int data;struct Node *next; }; //链栈的初始化操作 void initStack(Node *&S) { S == NULL; } //链栈的进栈操作 void原创 2016-12-30 20:36:03 · 327 阅读 · 0 评论 -
数据结构(四)双向链表的基本操作
#include using namespace std;typedef struct Node{int data;struct Node *prior;struct Node *next;}Node;//双向链表的创建 Node *create(int n){Node *head,*p1,*p2;int data;couth原创 2016-12-30 15:09:19 · 278 阅读 · 0 评论 -
数据结构(三) 单链表的排序 ----按插入方法排序(带头节点)
//链表的排序 ---------按插入方法排序//算法思想:先把头节点断掉,然后判断第一个数和第二个数的大小,如果第一个数小于第二个数,那么进入循环,找到排好序的最后一个,如果没有,那么将头节点连上那个节点 void insertSort(struct Node *head){struct Node *p1,*p2,*p3,*p4,*p5;p1 = head->next原创 2016-12-30 12:42:53 · 1363 阅读 · 0 评论 -
数据结构(二)单链表的逆序(带头节点)
//带头节点的 #include using namespace std;struct Node{int data;struct Node *next;};//尾插法 struct Node *create(int n){struct Node *head,*p1,*p2;int data;p1 = p2 = NULL;hea原创 2016-12-29 20:02:55 · 556 阅读 · 0 评论 -
数据结构(一)单链表的基本操作(不带头节点)
#include using namespace std;struct Node{int data;struct Node *next;};//头插法创建链表 struct Node * create(int n){struct Node *p1,*p2,*head;int data;p1 = p2 = head = NULL;p1原创 2016-12-29 20:00:45 · 381 阅读 · 0 评论 -
数据结构(十六) 线索二叉树讲解(带头节点后序加线索) 以及实现的完整代码
这篇先放放,等等再写。原创 2017-01-02 18:36:09 · 879 阅读 · 2 评论 -
数据结构(十五) 线索二叉树讲解(带头节点中序加线索) 以及实现的完整代码
这篇博客主要讲解的是中序线索化的基础上加上头节点(前序类似),这样做的好处是可以让所有的指针都不为空(即都有指向)。下篇博客主要讲解后序加上线索化,这个有一定的难度。实现的代码如下:原创 2017-01-02 14:55:23 · 1949 阅读 · 0 评论 -
数据结构(十四) 线索二叉树讲解(不带头节点中序加线索) 以及实现的完整代码
中序线索话何上一篇博客的前序加线索化思路是一样的。下面是实现的代码://为二叉链表加中序线索化 (不带头节点)#include using namespace std;//线索化的结构体 typedef struct Node{ char data; int ltag; int rtag; struct Node *lchild; struct Node *rchil原创 2017-01-02 14:45:10 · 787 阅读 · 0 评论 -
数据结构(十二) 二叉树的基本操作 --- 创建一个二叉树 前中后序遍历二叉树
//二叉树可以顺序存储也可以链式存储 顺序存储适合满二叉树和完全二叉树但不适合一般的二叉树//用链式存储对二叉树的一些基本操作 //采用的二叉链表的方法 #include using namespace std;//二叉树的结构体 typedef struct Node { char data; struct Node *lchild; struct Node *rc原创 2017-01-01 19:55:15 · 427 阅读 · 0 评论