
数据结构
文章平均质量分 82
努力发光的程序员
开始工作啦
展开
-
树的层次遍历
树的层次遍历,顾名思义就是在一颗树中按从左到右的顺序一层一层的遍历,这看似简单,但我们创建树时通常是根节点指向它的孩子结点,兄弟结点之间要怎么联系?这里我们可以转换一下思维,我们能不能把树每一层的结点按从左到右的顺序依次放到一个空间,然后依次输出,这样不就为每层的兄弟结点创建了联系。为了实现这样的效果,我们可以用到我们学过的一种很重要的数据结构——队列首先我们以二叉树为例1、先把树的根节点放入队列中2、判断队列是否为空,若不为空执行3,43、如果左孩子不为空,左孩子进队列4、如果由孩子不为空,右孩原创 2020-05-16 22:24:24 · 4385 阅读 · 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 · 706 阅读 · 0 评论 -
递归详解(C语言)
递归的定义递归就是直接或间接的调用自己原创 2020-05-06 20:22:00 · 550 阅读 · 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 · 340 阅读 · 0 评论 -
排序算法合集(C语言实现)
排序算法合集(C语言实现)说明1、这里采用的是整形的数据类型来排序(只要能比较大小都能运用该算法。2、这里只讨论内部排序。3、任何一个排序算法都有其存在的价值,没有哪一个算法在任何情况都是最好的。4、为了更加方便,我写了一个输出函数print(为了测试排序算法)和交换函数swap(使排序算法的代码更加简洁)。print函数和swap函数void print(int a[])//输出数...原创 2020-04-18 13:56:38 · 323 阅读 · 0 评论