数据结构
文章平均质量分 82
努力发光的程序员
开始工作啦
展开
-
树的层次遍历
树的层次遍历,顾名思义就是在一颗树中按从左到右的顺序一层一层的遍历,这看似简单,但我们创建树时通常是根节点指向它的孩子结点,兄弟结点之间要怎么联系?这里我们可以转换一下思维,我们能不能把树每一层的结点按从左到右的顺序依次放到一个空间,然后依次输出,这样不就为每层的兄弟结点创建了联系。为了实现这样的效果,我们可以用到我们学过的一种很重要的数据结构——队列 首先我们以二叉树为例 1、先把树的根节点放入队列中 2、判断队列是否为空,若不为空执行3,4 3、如果左孩子不为空,左孩子进队列 4、如果由孩子不为空,右孩原创 2020-05-16 22:24:24 · 4294 阅读 · 0 评论 -
递归解决问题(c语言)
前面我们知道了什么是递归以及递归是怎么实现的,现在我们就用递归来解决一些小问题,本文题目来自PAT浙大版《C语言程序设计(第3版)》题目集 本题要求实现一个计算非负整数阶乘的简单函数,并利用该函数求 1!+2!+3!+…+n! 的值。 函数接口定义: double fact( int n ); double factsum( int n ); 函数fact应返回n的阶乘,建议用递归实现。函数factsum应返回 1!+2!+…+n! 的值。题目保证输入输出在双精度范围内。 裁判测试程序样例: #includ原创 2020-05-10 15:22:54 · 605 阅读 · 0 评论 -
递归详解(C语言)
递归的定义 递归就是直接或间接的调用自己原创 2020-05-06 20:22:00 · 492 阅读 · 0 评论 -
非循环单链表的实现—老式链表(C语言实现)
链表的实现(C语言) 说明 1、该链表为较为原始的链表,如果能搞懂这个其他链表也能理解。 2、链表的难点为链表的创建、插入、删除、排序。 头文件函数的申明以及主函数 #include <stdio.h> #include <stdlib.h> #include <malloc.h> typedef struct Node { int data;//数据域 s...原创 2020-04-19 17:20:10 · 301 阅读 · 0 评论 -
排序算法合集(C语言实现)
排序算法合集(C语言实现) 说明 1、这里采用的是整形的数据类型来排序(只要能比较大小都能运用该算法。 2、这里只讨论内部排序。 3、任何一个排序算法都有其存在的价值,没有哪一个算法在任何情况都是最好的。 4、为了更加方便,我写了一个输出函数print(为了测试排序算法)和交换函数swap(使排序算法的代码更加简洁)。 print函数和swap函数 void print(int a[])//输出数...原创 2020-04-18 13:56:38 · 281 阅读 · 0 评论