
数据结构
CC_且听风吟
行百里者半九十
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二叉树 BSTree 完整实现
// 二叉查找树的实现头文件// 二叉树的操作中有很多重载操作,分开了内部和外部的接口#ifndef _DZZHYK_BSTREE_H_#define _DZZHYK_BSTREE_H_#include <iostream>#include <iomanip>using namespace std;// BST节点template <class ...原创 2019-11-03 19:23:22 · 1022 阅读 · 0 评论 -
二叉树的三种遍历 循环实现 - C++实现
三种遍历:先序、中序、后序先序循环遍历:// 先序遍历void preOrderIterator(TreeNode *root){ if (root) { stack<TreeNode*> s; while(root || !s.empty()){ // 只要root不为空 // 一路压栈 while(root){ // r非空 cout &...原创 2019-09-19 14:01:27 · 797 阅读 · 0 评论 -
二叉树的三种遍历 递归实现 - C++实现
二叉树的节点结构:typedef struct _TreeNode{ int _data; struct _TreeNode * _left; struct _TreeNode * _right;}TreeNode;使用递归就可以进行三种遍历先序:// 先序遍历void preOrderTraverse(TreeNode *root){ // 如果根节点存在 i...原创 2019-09-19 12:26:44 · 654 阅读 · 0 评论 -
栈和队列的模板形式 - C++实现
都用的头文件形式栈的模板形式#ifndef _MYSTACK_H#define _MYSTACK_H// 栈template <typename T>struct Node{ T data; struct Node<T> * next;};template <typename T>struct Stack{ Node&l...原创 2019-06-30 22:05:17 · 282 阅读 · 0 评论 -
队列的应用bfs - C++实现
广搜bfs,原理是将周围的可行路径放入队列中,同时判断用到了上一篇中的myqueue打印路径的版本#include <iostream>#include <ctime>#include <cstring>#include "myqueue"#include "mystack"#define MAXROW 10#define MAXL...原创 2019-06-30 21:59:49 · 2092 阅读 · 1 评论 -
队列 - C++实现
队列主要用的有三种实现方法:循环队列 - 线式实现 队列的链表实现 - 带头节点版本 队列的链表实现 - 不带头节点版本1. 队列的线式实现循环队列需要用一个额外的空间存储rear的指向ADT:// 循环队列的线式实现typedef struct _Queue{ char * _space; int _len; int _rear; int _front...原创 2019-06-29 14:33:18 · 892 阅读 · 0 评论 -
双向循环链表 - C++实现
双向循环链表抽象数据类型(ADT)大致如下:// 双向循环链表typedef struct _DNode{ int data; struct _DNode * pre; struct _DNode * next;}DNode;DNode * createDList();void insertDList(DNode * head, int data);void trav...原创 2019-06-24 13:51:33 · 372 阅读 · 0 评论 -
单向链表 - C++实现
单向链表抽象数据类型(ADT)大致如下:有关typedef struct的内容:http://c.biancheng.net/view/298.htmltypedef struct _Node{ int data; struct _Node * next;}Node;Node * createList();void insertList(Node * head, int...原创 2019-06-23 13:39:52 · 241 阅读 · 0 评论 -
栈的应用dfs - C++实现
深搜dfs都用到了上一篇的mystack栈1. 不打印路径的版本#include <iostream>#include <ctime>#include "mystack"#define MAXROW 10#define MAXLINE 10using namespace std;typedef struct _Point{ int ...原创 2019-06-26 12:07:28 · 1509 阅读 · 5 评论 -
栈 - C++实现
实现栈有两种方法:线式存储 链式存储其中线式存储需要确定栈的大小,而链式存储不用线式存储的具体实现ADT:// 栈的线式存储typedef struct _Stack{ int _len; int _top; // _top始终指向待压入位置,当等于_len时代表满 // _top=0时表示栈空 char * _space;}Stack;void...原创 2019-06-25 10:22:56 · 226 阅读 · 0 评论