摘要:基础结构: 模型建立之后,就可以创建一个实在的东西 现在需要对线性表进行初始化操作,这里用的是把length置为0。 插入操作 主要有三个部分[1] 插入之前,进行判定。这个判定又分两种情况:<1>插入元素的位置是否合法? 这里,合理的范围是在[1,L->length+1]之间,比如,在第5个位置插
阅读全文
随笔分类 - Data Structure
摘要:不带头结点的单链表,递归法比较简明!(必背!) 单链表的结构: 创建第一种方法:递归的终止条件:e为0 第二种方法,创建n个节点,中止条件:n==0 遍历 查找 销毁
阅读全文
摘要:题意为,如果二叉树某结点的值为e(假定是整型二叉树),返回这个结点的指针。初看这道题,联想到二叉树可以很简单的遍历,直接返回这个指针不就行了吗?如下图所示,假如要返回值为3的结点指针: 设计好了一个函数 程序能正确运行,也确实返回了正确的指针值。可为什么书上没有采用这种方法呢?思考一下,不难发现这段
阅读全文
摘要:双向循环链表(带头结点)的创建,一共五步,如图所示: 插入结点操作: 删除结点操作(相对简单,图示略)
阅读全文
摘要:顺序栈借助游标top,主要在于栈空与栈满的判定!如图可以看出,栈空的标志是:top=-1,栈满的标志是top=MAXSIZE-1,当然,具体如何约束也可以自己约定! 初始化栈,将top置为-1; 入栈和出栈 入栈先将top++,然后插入数据,出栈,先取数据,再将top--;这个是比较容易理解的: 完
阅读全文
摘要:这里用的递归法,采用两种版本,一种是C语言,一种是C++;但是,用C语言没有“引用”,所以采用的是指向指针的指针;而C++具备“引用”,所以直接用&引用,简洁; 先看C++的代码; BiTree CreateBiTree(BiTree &T) { // 算法6.4 // 按先序次序输入二叉树中结点的
阅读全文
摘要:先序遍历:(先左后右) 先左树再右树遍历 先序遍历很有点类似于栈,可以用栈来模拟: 中序遍历: 后序遍历:
阅读全文