![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 66
xiaoxin_zh
软件工程在读硕士~
展开
-
C++实现二叉树的创建以及四种遍历方式(递归与非递归)
C++实现二叉树的创建以及四种遍历方式(递归与非递归)语言这个东西不用真的会忘, 我记得前前后后C++的基本语法我也看了好几遍了,一直没有动手写过什么东西,所以一遍遍的看,一遍遍的忘… …正好最近在看数据结构,想着自己用C++来实现一下,一方面是熟悉整个逻辑过程,加深对数据结构的理解,另一方面,也熟悉一下C++。下图是我们要创建的二叉树,其中的#代表空字符;为了验证我们程序的正确性,现给出此二叉树的四种遍历结果:前序遍历(Preorder traversal): A B C D E F原创 2022-05-23 10:57:17 · 4708 阅读 · 1 评论 -
C++实现BF算法与KMP算法
C++实现BF算法与KMP算法语言这个东西不用真的会忘, 我记得前前后后C++的基本语法我也看了好几遍了,一直没有动手写过什么东西,所以一遍遍的看,一遍遍的忘… …正好最近在看数据结构,想着自己用C++来实现一下,一方面是熟悉整个逻辑过程,加深对数据结构的理解,另一方面,也熟悉一下C++。代码已在Jetbrains Clion IDE中编译运行通过,不同IDE以及不同编译器可能还需要做些许改动具体的BF算法以及KMP算法可以在任意数据结构的书籍中找到,本文基于《大话数据据结构》。BF算法/原创 2022-05-19 16:15:42 · 340 阅读 · 0 评论 -
C++实现顺序循环队列和链式队列
C++实现顺序循环队列和链式队列语言这个东西不用真的会忘, 我记得前前后后C++的基本语法我也看了好几遍了,一直没有动手写过什么东西,所以一遍遍的看,一遍遍的忘… …正好最近在看数据结构,想着自己用C++来实现一下,一方面是熟悉整个逻辑过程,加深对数据结构的理解,另一方面,也熟悉一下C++。顺序存储循环队列栈是“先进后出”(FIFO)的结构,与之相反,队列是“先进先出”(FIFO)结构,就比如我们在一个窗口排队打饭,那么先排队的人一定先打好饭(当然,要排除插队的情况)。如上图所示,如果还有原创 2022-05-16 16:09:24 · 486 阅读 · 0 评论 -
C++实现两栈共享和链栈
C++实现两栈共享和链栈语言这个东西不用真的会忘, 我记得前前后后C++的基本语法我也看了好几遍了,一直没有动手写过什么东西,所以一遍遍的看,一遍遍的忘… …正好最近在看数据结构,想着自己用C++来实现一下,一方面是熟悉整个逻辑过程,加深对数据结构的理解,另一方面,也熟悉一下C++。栈(Stack)是一种仅限在表尾进行插入和删除的线性表,允许插入和删除的一端称为栈顶,另一端叫做栈底。栈又被称为先进后出(FILO :First In Last Out)结构。由于栈是线性结构,所以同链表一样,可以原创 2022-05-16 14:51:43 · 488 阅读 · 0 评论 -
C++实现双链表(Double Linked List)
C++实现双链表(Double Linked List)语言这个东西不用真的会忘, 我记得前前后后C++的基本语法我也看了好几遍了,一直没有动手写过什么东西,所以一遍遍的看,一遍遍的忘… …正好最近在看数据结构,想着自己用C++来实现一下,一方面是熟悉整个逻辑过程,加深对数据结构的理解,另一方面,也熟悉一下C++。双链表与单链表相同,都是由结点(Node)组成,但结点结构有所不同,结点中有一个数据域和两个指针域,数据域存放结点中的数据,一个指针域指向下一个结点的地址,另一个指针指向上一个结点的地原创 2022-05-14 20:34:53 · 1597 阅读 · 2 评论 -
C++实现单链表(Single Linked List)
C++实现单链表(Single Linked List)语言这个东西不用真的会忘, 我记得前前后后C++的基本语法我也看了好几遍了,一直没有动手写过什么东西,所以一遍遍的看,一遍遍的忘… …正好最近在看数据结构,想着自己用C++来实现一下,一方面是熟悉整个逻辑过程,加深对数据结构的理解,另一方面,也熟悉一下C++。单链表是线性表的链式存储结构,同顺序存储结构(可以理解为C++中的数组)不同的是,单链表在插入和删除一个结点时,不需要移动大量的元素,但是单链表没有数组中索引的概念,所以在查询一个元素原创 2022-05-14 11:15:59 · 7864 阅读 · 1 评论 -
几种排序算法的C/C++实现
几种常用排序算法总结及代码实现注:本文排序算法的代码实现全部采取从小到大的方式进行排序1. 冒泡排序冒泡排序(Bubble Sort)就是一种交换排序,它的思想就是两个元素进行比较,如果是反序则交换,直到没有反序的元素为止。排序图示代码实现#include <stdio.h>//两个数进行交换的函数void Swap(int *num1, int *num2){ int temp = *num1; *num1 = *num2; *num2 = te原创 2020-07-22 09:45:17 · 4872 阅读 · 3 评论