
数据结构
文章平均质量分 55
Felix_CY
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构--栈
1、栈的简介 1.1栈的特点 栈(Stack)是一种线性存储结构,它具有如下特点: 栈中的数据元素遵守”先进后出"(First In Last Out)的原则,简称FILO结构。限定只能在栈顶进行插入和删除操作。 1.2栈的相关概念 栈的相关概念: 栈顶与栈底:允许元素插入与删除的一端称为栈顶,另一端称为栈底。压栈:栈的插入操作,叫做进栈,也称压栈、入栈转载 2016-11-15 22:22:20 · 471 阅读 · 0 评论 -
数据结构---队列
1、队列是一种“先进先出”的结构(FIFO)。可分为:普通队列和环形队列。 环形队列: 下面程序是环形队列实现的过程: 头文件: #pragma oncea #ifndef MYQUEUE_H #define MYQUEUE_H class MyQueue { public: MyQueue(int queueCapacity); virtual ~MyQueue();原创 2016-11-15 09:21:15 · 260 阅读 · 0 评论 -
C++链表的创建与操作
转自:http://blog.sina.com.cn/s/blog_4b41e46d0100gb1b.html 我们知道,数组式计算机根据事先定义好的数组类型与长度自动为其分配一连续的存储单元,相同数组的位置和距离都是固定的,也就是说,任何一个数组元素的地址都可一个简单的公式计算出来,因此这种结构可以有效的对数组元素进行随机访问。但若对数组元素进行插入和删除操作,则会引起大量数据的移动,从而使简转载 2016-11-21 09:20:23 · 456 阅读 · 0 评论 -
【链表】C++链表反转、链表逆序打印(三)
题目:C++实现链表逆序打印、链表反转 如何将链表逆序,取决于题目的要求。如果面试官只要求打印,一般不改动链表结构为好,如果要求改变链表的方向,则需要改变结构,再顺序打印。 方法1:只逆序打印,不改变结构。采用递归,到达尾结点时打印输出,否则进入下一个结点的递归,当递归一层层退出的时候,便可以实现从尾到头的打印。 方法2:头插法,改变结构。从第二个结点开始往后,依次把每个结点移至链表头部,要...转载 2017-09-19 10:55:33 · 525 阅读 · 0 评论 -
二叉树的三种遍历
二叉树的遍历分为三种:先序遍历:遍历顺序规则为【根左右】中序遍历:遍历顺序规则为【左根右】后序遍历:遍历顺序规则为【左右根】什么是【根左右】?就是先遍历根,再遍历左叉树,最后遍历右叉树;先序遍历:ABCDEFGHK中序遍历:BDCAEHGKF后序遍历:DCBHKGFEA...转载 2018-07-06 22:42:08 · 433 阅读 · 0 评论 -
【链表】链表的基本概念和操作(一)
一. 链表的基本概念 根据《数据结构》书中介绍,一个线性表是n个数据元素的有限序列,它的长度可根据需要增长或缩短,还有一系列对线性表的操作。 线性表可分为顺序存储结构和链式存储结构两种。 顺序存储结构的特点是逻辑关系上相邻的两个元素在物理位置上也相邻。 链式存储结构的特点是不需要逻辑上相邻的元素在物理位置上也相邻。 下面重点介绍一下链式存储结构的线性链表,线性链表可分为单链表,循环链表,...原创 2018-08-23 16:21:21 · 6441 阅读 · 1 评论 -
【链表】链表的操作(二)
上一篇写了链表的基本概念,这一篇通过在C++上建链表,实现基本的输入输出,筛选功能进行测试。 代码: #include <iostream> #include<stdio.h> #include <stdlib.h> using namespace std; #define OK 1 #define ERROR 0 typedef struct Node...原创 2018-08-23 17:03:56 · 263 阅读 · 0 评论 -
【堆】堆的定义以及堆排序
堆的定义: 堆是一类特殊的数据结构统称,堆通常可以被看做一颗树的数组对象。 堆满足下列性质: 1)堆中某个节点的值总是不大于或不小于其父节点的值 2)堆总是一颗完全二叉树。 完全二叉树:除最后一层外,每一层上的节点数均达到最大值;在最后一层上只缺少右边的若干结点。 满二叉树:树中除了叶子节点,每个节点都有两个子节点 完美二叉树:满足完全二叉树性质,树的叶子节点均在最后一层(也就是形成...原创 2018-09-07 14:05:06 · 4440 阅读 · 0 评论 -
【链表】链表翻转,合并,以及倒数第k个数
链表的翻转 1. 代码中指明了链表的定义,以及初始化,初始化使用尾插法实现。 2. 链表的翻转采用三种方式,分别是递归,栈,以及对链表逆序后,再输出 代码如下: #include <iostream> #include<stack> using namespace std; typedef struct Node{ int data; Node* ...原创 2018-09-13 22:13:58 · 294 阅读 · 0 评论