![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
I,Pencil
这个作者很懒,什么都没留下…
展开
-
基数排序(C++实现)
基数排序 #include <iostream> #include <list> using namespace std; int maxdigit(int data[], int n) { int d = 1; // 计位器: 1 1位数 2 两位数 int p = 10; // 倍数 // 求数组中最高位的的位数 for (int i = 0; i < n; ++i) { while (data[i] >= p) { p *= 10;原创 2020-12-24 08:59:24 · 1743 阅读 · 0 评论 -
链式队列(C++实现)
/* LinkQueue.h */ #ifndef LINKQUEUE_H_ #define LINKQUEUE_H_ template<class T> class Queue { public: Queue(); ~Queue(); bool isEmpty() const; const T & getFront() const; // 查看队头 void enqueue(const T & x); // 入队 T dequeue(); // 出队 voi原创 2020-12-21 15:33:33 · 328 阅读 · 0 评论 -
链栈(C++实现)
/* LinkStack.h */ #ifndef LINKSTACK_H #define LINKSTACK_H template<class T> class LinkStack; template<class T> class ChainNode { public: friend class LinkStack<T>; private: ChainNode(const T& theData, ChainNode *n = 0):data(theDat原创 2020-12-17 17:23:42 · 220 阅读 · 0 评论 -
顺序队列(C++实现)
// Queue.h #ifndef _QUEUE_H #define _QUEUE_H template<class T> class Queue { public: Queue(int queueCapacity=10); bool IsEmpty() const; // 判空 T& Front() const; // 头索引 T& Rear() const; // 尾索引 void Push(const T& item);原创 2020-12-07 16:53:10 · 330 阅读 · 0 评论 -
归并排序算法(C++实现)
1原创 2020-11-30 18:16:24 · 275 阅读 · 0 评论 -
快速排序算法(C++实现)
#include <iostream> using namespace std; // left和right代表数组的下标 template<class T> void QuickSort(T *a, const int left, const int right) { if (left < right) { // 选枢轴划分 int i = left; int j = right + 1; // 为什么要加1 int pivot = a[left];原创 2020-11-25 16:03:37 · 151 阅读 · 0 评论 -
树与二叉树超级详细知识点(三)----二叉树的存储结构及遍历(未完结)
图1 顺序存储 依据二叉树的性质,完全二叉树和满二叉树采用顺序存储比较合适;但对于一般的二叉树,为让数组和下标与二叉树中结点之间的逻辑关系,只能添加空结点,使用顺序存储会造成大量的空间浪费。 图2 /* 顺序存储代码 */ struct TreeNode{ ElemType value; // 结点中数据元素 bool isEmpty; //结点是否为空 } 链式存储 顺序存储空间利用率低,因此一般采用链式存储. 二叉树的链式存储称为二叉链表,二叉链表至少包含3个域:数据域data、左指针域lchi原创 2020-09-12 15:16:12 · 255 阅读 · 0 评论 -
树与二叉树超级详细知识点(二)----二叉树的基础知识
树与二叉树 第二章 二叉树的基础知识 基础概念(3个) 二叉树是n(n≥0)个结点的集合:1.或者空二叉树,即n=0 2.或者由一个根节点和两个互不相交的的被称为根的左子树和右子树 二叉树的特点:1.每个结点最多只有两棵子树(每个结点的度最多为2) 2.左右子树位置不能颠倒(二叉树是有序树) 二叉树的五种状态 注意:空二叉树属于二叉树!!! 几种特殊的二叉树 ...原创 2020-08-30 21:13:48 · 217 阅读 · 0 评论 -
树与二叉树超级详细知识点(一)--树的基础知识
未经本人同意,禁止转载 树与二叉树 第一节 树的基础知识 基础概念(4条) 树是n(n≥0)个结点的有限集合;n=0时,称为空树,这是一种特殊情况。 任意一棵树非空树都应该满足:1.有且只有一个根结点 2.当n > 1时,其余结点可分为m(m > 0)个互不相交的有限集合T1,T2 ,…,Tm ,其中每个集合本身又是一棵树,并且称为根结点的子树。 根结点没有前驱,除根结点外的所有结点都有前驱 所有结点可以有零个或多个后继 基本术语(4条) 结点之间的关系(套用血缘关系方便理解).原创 2020-08-29 21:35:57 · 208 阅读 · 0 评论