![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构
文章平均质量分 79
sai小懒
空
展开
-
C语言制作个人通讯录管理系统—超详解(附源码)
之前利用C语言完成了一个关于个人通讯录管理系统的课题,主要是关于联系人的添加、查找、删除、修改、输出以及文件的写入与读出,还有一个甜点功能—模拟通话,它的实现原理也很容易理解,文章末尾会介绍到。1、函数声明关于这里的函数声明,主要是为了可以清楚的了解整个系统的功能,这里不做过多介绍。还有结构体链表的创建,贯穿了各个功能代码部分,必不可少。2、联系人的添加这部分主要涉及联系人的姓名、地址、电话、QQ号和邮箱(当然需要其他功能可自行添加),考虑到数组操作不便前提下,使用链表的尾插法,通过不断开创新的结点原创 2020-06-08 11:09:36 · 14773 阅读 · 11 评论 -
【数据结构】论斐波那契数列的4种算法(C语言)
斐波那契数列公式:f(n) = f(n - 1) + f(n - 2);描述:如果一个数列中的每个数是前两个数之和,并且前两个数都为1,这样的数列被称之为Fibonacci数列算法1:递归#include<stdio.h>int fib(int i){ if(i<2) return 1; else return fib(i-2)+fib(i-1);}int main(){ int i,n; printf("请输入需求的斐波那契数列的前n项:"); sca原创 2020-06-21 16:54:32 · 1589 阅读 · 0 评论 -
【经典问题】C语言数据结构—汉诺塔(递归)
汉诺塔可以说是非常经典的递归调用的例子,关于它的来源有兴趣可以自己查一下。它的操作形象点讲就是:在A、B、C三根柱子中,将A柱子(也可以是B或者C)上的n个圆盘(从上到下圆盘直径依次增大的堆叠方式)利用B和C移动到C(或者B)柱子上,并且每次只能移动一个圆盘,小圆盘必须在大圆盘上面。实现步骤:1、假设A中共有n个圆盘,先将其中的n-1个圆盘借助C移动到B2、再将A上的最后一个圆盘移动到C3、最后一步就是将B上的圆盘借助A移动到C,类似于第一步总体思路:实现代码:#include <原创 2020-06-10 21:06:04 · 384 阅读 · 0 评论