C/C++ 数据结构
SnapTap
你的努力,都会在你身上显现出来。越努力越幸运。
展开
-
C/C++ 二叉树的创建、遍历及树的深度链表实现
关于二叉树的创建、先序遍历、中序遍历、后序遍历和求树的深度链表实现。代码如下,如有问题可以留言。/* 二叉树的创建及遍历 */#include <iostream>#include <cstring>#include <cstdlib>using namespace std;#define ElementType string //如果想用...原创 2019-05-10 17:20:42 · 294 阅读 · 2 评论 -
C/C++ 二叉树的非递归遍历(前序、中序、后序非递归遍历)
二叉树的非递归遍历C/C++实现:非递归先序遍历代码:void PreOrderTraversal (struct tree* root) { //非递归先序遍历 struct tree* temp = root; while (temp != NULL || S.top > 0) { while (temp != NULL) { ...原创 2019-05-10 20:29:22 · 2392 阅读 · 0 评论 -
二叉树的层次遍历(C语言实现)
非递归实现二叉树的层次遍历:想了大半个小时终于写出来了,通过自己思考出来的还是有很大成就感。学数据结构就是通过自己思考和参考而学得更深。思路:层次遍历就是一层一层遍历,这棵二叉树的层次遍历序列为5 2 11 3 6 4 8,先上到下,先左到右。实现层次遍历用队列比较方便,因为是先进先出(FIFO)。首先把5入队,然后再输出队首元素,并且把队首元素的左结点和右结点入队(如果有的话...原创 2019-05-10 21:53:21 · 34357 阅读 · 8 评论 -
C/C++ 单链表的创建、插入、删除、查找实现(简单 - 完整代码)
单链表的增删改查实现温馨提示:阅读本文需要15-25分钟单链表的创建第一步也是最重要的一步就是要创建结构体,怎样创建结构体好理解呢?以下的定义结构体的方式是我看过那么多别人的代码以来让我感觉最容易看懂的,对新手也是很友好的,反正我创建新结点或者是传参只需要写一种形式struct List* ptr = ...; 就可以了。struct List { int val;...原创 2019-06-15 10:38:13 · 36719 阅读 · 13 评论 -
C/C++语言栈的出栈入栈操作实现(完整代码)
栈的创建、出队、入队、栈长度、清空栈、判断栈满、判断栈空、取栈元素C语言实现:栈的C语言模拟比较简单,直接贴代码了。/* 完整代码 */#include <iostream>using namespace std;#define MAX_SIZE 5 //数组大小 struct stack { int top; int ans[MAX_SIZ...原创 2019-06-15 13:12:41 · 20798 阅读 · 0 评论 -
C/C++ 队列的出队入队单链表实现(完整代码)
队列的C/C++实现逻辑比较简单,用单链表实现队列的创建、入队、出队和判断队列是否为空操作,这里直接贴代码了。/* 完整代码 */#include <iostream>using namespace std;typedef struct queue { int val; struct queue* next;}Queue;void Init(...原创 2019-06-15 15:00:27 · 4746 阅读 · 0 评论 -
C/C++ 循环队列实现(完整代码)
循环队列比单链表实现队列会稍微要难理解一点,但是弄懂了其中的原理,就不会感觉到困难啦~~~循环队列的结构体:用count来记录元素的个数容易判断队列是否是空或者满。typedef struct queue{ int count; //记录元素个数 int front; //队首 int rear; //队尾 int data[MAX_S...原创 2019-06-15 16:39:25 · 19908 阅读 · 5 评论