数据结构
Izvara
For better or for worse.Or for nothing.
展开
-
链式队列的创建与操作
链式队列基于单链表包含队头指针(头指针)和队尾指针(指向尾结点) #include<iostream>typedef int Elemtype;//链式队列结点typedef struct LinkNode{ Elemtype data; LinkNode *next;}LinkNode;//链式队列typedef struct { LinkNode *f...原创 2019-01-23 18:47:09 · 1740 阅读 · 0 评论 -
链式栈的创建与操作
链式栈相比共享栈有更自由的空间大小,除非计算机中内存不足,否则不会出现空间不够的情况链式栈基于链表,也属于顺序栈#include<iostream>typedef int Elemtype;/* 1.链栈一般不存在栈满的情况 2.空战的判定条件通常定为top==NULL*///链式栈typedef struct SNode { Elemtype data; ...原创 2019-01-23 15:43:44 · 1010 阅读 · 0 评论 -
顺序栈的创建与操作
#include<iostream>typedef int Elemtype;const int MaxSize = 50; //设置链表最大长度/* 1.栈顶Top值不能超过MaxSize 2.空栈的判定条件通常定为top == -1,满栈的判定条件通常为top == MaxSize-1 栈中元素个数为top+1*///顺序栈typedef struct { ...原创 2019-01-23 15:39:29 · 577 阅读 · 0 评论 -
双链表的创建与操作
#include<iostream>/* 双链表*/typedef int Elemtype;typedef struct DNode{ Elemtype data; //数据域 DNode *pre; //前驱 DNode *next; //后继}DNode,*DLinkList;//头插法创建双链表DLinkList createHeadDList(...原创 2019-01-22 16:54:15 · 245 阅读 · 0 评论 -
线索二叉树的创建和操作
线索二叉树可以不通过栈就能实现二叉树的遍历指向前驱和后继的指针称为线索,加上线索的二叉链表就称为线索链表,相应的二叉树就称为线索二叉树对二叉树以某种次序遍历,使其成为线索二叉树的过程就叫做线索化#include<iostream>/* 线索二叉树可以不通过栈就能实现二叉树的遍历*/typedef char Elemtype;typedef struct Thre...原创 2019-01-27 19:45:25 · 503 阅读 · 0 评论 -
二叉树的递归遍历
二叉链表 二叉树每个结点最多两个孩子,所以设计二叉树的结点结构是考虑两个指针指向该结点的两个孩子 另外还可以增加指针指向该结点的双亲结点,那这时三个指针的链表叫做三叉链表#include<iostream>typedef char Elemtype;typedef struct BiTNode { Elemtype data; //数据域 BiT...原创 2019-01-27 16:00:18 · 184 阅读 · 0 评论 -
单链表的创建与操作
#include<iostream>/* 单链表的操作*/typedef int Elemtype;typedef struct LNode { //一个结点LNode,由数据域data和后继指针*next组成 Elemtype data; //数据域 LNode *next; //指向下一个结点的指针}LNode, *LinkList; //指向LN...原创 2019-01-21 20:35:34 · 329 阅读 · 0 评论 -
线性表的创建与操作
#include<iostream>const int InitSize = 100; //目标空间大小const int MaxSize = 100; //最大空间大小typedef int Elemtype;typedef struct { Elemtype *data; int length;}SqList;//插入bool ListInsert(Sq...原创 2019-01-21 20:37:39 · 705 阅读 · 0 评论 -
树的顺序存储结构
双亲表示法 用一组连续的存储空间存储树的结点,同时再每个结点中,用一个变量存储该结点的双亲结点在数组中的位置#define MaxSize 50typedef int Elemtype;typedef struct TNode { Elemtype data; //结点数据 int parent; //该结点双亲再数组中的下标}TNode;typedef struc...原创 2019-01-25 17:20:05 · 3637 阅读 · 0 评论 -
循环队列的创建与操作
队列是只允许再一端进行插入,而在另一端进行删除的线性表 队头(front):允许删除的一端,又称为队首 队尾(rear):允许插入的一段 先进入队列的元素必然先离开队列(先进先出)与栈相反队尾指针指向队尾元素的下一个位置(防止假溢出)队空条件:front == rear队满条件:(rear+1) % MaxSize == front进队:rear =...原创 2019-01-23 18:48:20 · 1042 阅读 · 0 评论 -
顺序表
#include <iostream>#include <stdlib.h>#pragma warning(disable:4996)#define MaxSize 100typedef int Elemtype;typedef struct SqList{ Elemtype data[MaxSize]; int length; void init...原创 2019-02-24 20:25:07 · 275 阅读 · 0 评论