数据结构
Austim小白
懒
展开
-
数据结构——反转链表
反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL先使pPrev 和pNext都为空 pCurrent指向当前当前结点最后当pCurrent 为空时结束while (pCurrent){ pNext = pCurrent->next; pCurrent->next = pPrev; pPrev = pCurrent; pCurrent = pNext原创 2020-09-07 22:49:49 · 255 阅读 · 0 评论 -
线索二叉树基本原理
线索二叉树是利用空指针域来存放前驱、后继的地址,在原有二叉链表存储结构上进行扩大,因此我们新增两个标志域:lTag和rTag(整型),1表示有子树,0表示无子树。1)当lTag = 0时,lchild域指示结点的左子树根结点;当lTag = 1时,lchild域指示结点在某个遍历序列中的前驱。2)当rTag = 0时,rchild域指示结点的右子树根结点;当rTag = 1时,rchild域指示结点在某个遍历序列中的后继。指向前驱、后继的指针称为线索。当前结点左指针为空,就把它左指针规定为线索,指针原创 2020-08-30 17:41:09 · 430 阅读 · 0 评论 -
数据结构——找度为二的结点
度为二的结点,即含有左子树和右子树#include <stdio.h>#include <stdlib.h>#include <malloc.h>int count = 0;typedef struct BiTNode{ char data; struct BiTNode *lchild, *rchild;}BiTNode, *BiTree;//创建二叉树void CreateBiTree(BiTree *bt){ char ch; c原创 2020-08-26 16:07:51 · 1433 阅读 · 0 评论