MOOC数据结构源码
Focus5679
学生一枚
展开
-
线性表的定义与操作
线性表的定义与操作-顺序表typedef int Position; typedef struct LNode *List; struct LNode { ElementType Data[MAXSIZE]; Position Last; }; /* 初始化 */ List MakeEmpty() { List L; L = (List)malloc(siz...转载 2018-05-09 15:21:01 · 496 阅读 · 0 评论 -
堆栈的定义与操作
堆栈的定义与操作-顺序存储typedef int Position; struct SNode { ElementType *Data; /* 存储元素的数组 */ Position Top; /* 栈顶指针 */ int MaxSize; /* 堆栈最大容量 */ }; typedef struct SNode *Stack; Stack Cre...转载 2018-05-09 15:24:27 · 1540 阅读 · 0 评论 -
队列的定义与操作
队列的定义与操作-顺序存储typedef int Position; struct QNode { ElementType *Data; /* 存储元素的数组 */ Position Front, Rear; /* 队列的头、尾指针 */ int MaxSize; /* 队列最大容量 */ }; typedef struct QNode *Qu...转载 2018-05-09 15:25:52 · 111 阅读 · 0 评论 -
二叉树的四种遍历
递归实现void InorderTraversal( BinTree BT ) { if( BT ) { InorderTraversal( BT->Left ); /* 此处假设对BT结点的访问就是打印数据 */ printf("%d ", BT->Data); /* 假设数据为整型 */ InorderTrav...转载 2018-05-09 15:28:21 · 69 阅读 · 0 评论 -
二叉搜索树的插入与删除
二叉搜索树的插入与删除BinTree Insert( BinTree BST, ElementType X ) { if( !BST ){ /* 若原树为空,生成并返回一个结点的二叉搜索树 */ BST = (BinTree)malloc(sizeof(struct TNode)); BST->Data = X; BST->Lef...转载 2018-05-09 15:30:02 · 193 阅读 · 0 评论 -
AVL树的旋转与插入
AVL树的旋转与插入typedef struct AVLNode *Position; typedef Position AVLTree; /* AVL树类型 */ struct AVLNode{ ElementType Data; /* 结点数据 */ AVLTree Left; /* 指向左子树 */ AVLTree Right; /* 指向右子树 */ ...转载 2018-05-09 15:31:10 · 110 阅读 · 0 评论 -
堆的定义与操作
堆的定义与操作typedef struct HNode *Heap; /* 堆的类型定义 */ struct HNode { ElementType *Data; /* 存储元素的数组 */ int Size; /* 堆中当前元素个数 */ int Capacity; /* 堆的最大容量 */ }; typedef Heap MaxHeap; /...转载 2018-05-09 15:32:23 · 223 阅读 · 0 评论