数据结构
文章平均质量分 74
Joe_IceWind
这个作者很懒,什么都没留下…
展开
-
循环链表
#include #include typedef struct LNode{ int data; LNode* next;}LNode,*cirLinkList;/* 初始化一个循环链表,分为两步: ①:为它申请一个头结点. ②:令他的头结点的指针指向其自身. */void InitCirLinkList(cirLinkList &t){原创 2009-09-15 11:15:00 · 686 阅读 · 0 评论 -
二叉树
#include #include #include using namespace std;enum {ERROR,OK,OVERFLOW = 0};int Nil = ;typedef struct BiTNode{ int data; BiTNode *lchild,*rchild;}BiTNode,*BiTree;bool InitBiTr原创 2009-09-18 15:11:00 · 594 阅读 · 0 评论 -
三叉链表
#include #include #include using namespace std;enum {ERROR,OK,OVERFLOW = 0};int Nil = ;typedef struct BiTNode{ int data; BiTNode *lchild,*rchild,*parent;}BiTNode,*BiTree;bool原创 2009-09-18 15:49:00 · 2512 阅读 · 0 评论 -
二叉排序树
q = p; s = p->lchild;while (s->rchild){} 二叉排序树的删除分析删除二叉排序树中一个结点分为两种情况,删除右子树上的一个结点和删除左子树上的一个结点。令指针p为待删除结点的指针,q为待删除结点的父结点指针。①删除左子树上的一个结点:此种情况又分为3中情况: 1: 待删除结点的左右子树均为空,即删除的为一个叶子结点。原创 2009-09-20 13:49:00 · 550 阅读 · 0 评论 -
数据结构----严蔚敏
最近一直想找一本纯数据结构的书来学习,找来找去都没有找到一本合适的书籍,相比之下国内的书籍之中,严蔚敏和吴伟民的还算是经典版了,很多国内其他数据结构教材都参考这本书的。但缺点是很多都是伪代码,对编程初学者来说有一些难度,甚至有些考研的同学来看这本书有很多还看不懂,并且里面也有些容易迷惑人的地方。出于对自己数据结构知识的巩固和给那些考研的同学学习这本书一个参考,我决定对这本书中大部分的伪代码用C做一原创 2009-10-14 17:08:00 · 1894 阅读 · 0 评论 -
单链表
1 这里我重点总结一下带头结点的单向链表,说实在话,这个带头结点这句话算是迷惑了我很长时间,我们可以把它理解成为结点,也可以不把它理解为结点。只不过是我们定义了一个结构体而已,里面包含了整个链表的属性信息,及一个头指针和一个尾指针。头指针指向第一个结点,尾指针指向最后一个结点。其中链表的属性信息里面可以包含有链表的长度。当然我们里面可以什么都不存储。下面我们来看一下单向链表在内存中的存储。原创 2009-10-15 13:05:00 · 788 阅读 · 0 评论 -
线性表
在开始本章节之前,我要说明两个问题:1 线性表的一个误解很多人认为,并且严老师的书上也是这么划分,就是将线性表和栈,队列划分开来。其实并不是这么回事,我们可以参考《计算机程序设计艺术》第一卷,第二章。其实线性表包括链表,栈,队列。2 就是我这里想说一些前些天一个女同学问我的一个问题她大概是这么说的:NULL是什么啊?p = NULL;是什么意思啊?为什么要等于NULL啊?我开始原创 2009-10-14 22:25:00 · 679 阅读 · 0 评论 -
循环链表
// Note:Your choice is C++ IDE#include #include typedef struct LNode{ int data; LNode* next;}LNode,*cirLinkList;/* 初始化一个循环链表,分为两步: ①:为它申请一个头结点. ②:令他的头结点的指针指向其自身. */void InitC原创 2009-10-17 14:05:00 · 622 阅读 · 0 评论