![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言数据结构
文章平均质量分 89
程序服务个体户
这个作者很懒,什么都没留下…
展开
-
数据结构代码实例实现(王道)
王道数据结构顺序表的代码实现:讲道理,实现才有意思。#include<stdio.h>#include<stdlib.h>//静态分配 #define MaxSize 50typedef int ElemType;//typedef struct{// ElemType data[MaxSize];// int length;//}SqLis...原创 2020-01-07 19:43:28 · 4916 阅读 · 2 评论 -
六度空间(广度优先遍历 · 数据结构 · 图)
原理就看书吧,看书吧,六度空间的解读好麻烦啊, 陈越姥姥的讲解赛高了。“六度空间”理论又称作“六度分隔(Six Degrees of Separation)”理论。这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五个人你就能够认识任何一个陌生人。”如图1所示。 图1 六度空间示意图“六度空间”理论虽然得...原创 2018-05-31 18:49:36 · 7527 阅读 · 4 评论 -
排序(数据结构 · 希尔排序 · 快速排序 · 堆排序 · 归并排序)
我们在学C的时候就已经学过好几种排序,但是数据结构还是在最后面详细介绍了不同算法的排序方式所需要的时间和空间成本,还新增了几个C基础设计里面没有的算法,这一章很重要,因为算法本就是数据结构的核心之一,好的程序员应该多理解不同算法和它们的时间复杂度和空间复杂度。特别想说一下堆的排序,里面的调试板块我都打出来了,可以直接删掉注释来当调试用。快速排序和希尔排序是数据结构里的新知识点。#include&l...原创 2018-06-05 12:42:20 · 553 阅读 · 0 评论 -
带头结点的链式表操作集(数据结构)
6-6 带头结点的链式表操作集(20 分)本题要求实现带头结点的链式表操作集。函数接口定义:List MakeEmpty(); Position Find( List L, ElementType X );bool Insert( List L, ElementType X, Position P );bool Delete( List L, Position P );其中List结构定义...原创 2018-04-30 01:13:36 · 2546 阅读 · 2 评论 -
中缀表达式转后缀表达式(堆栈 · 数据结构)
这是用堆栈的方式建立中缀表达式转后缀表达式的代码,这个代码我打了很久,一开始是在优酷上通过一个视频有关的思路讲解打出来的。#include<stdio.h>#include<malloc.h>#include<stdlib.h>#define MAXSIZE 20#define STACKINCREMENT 10typedef struct SNod...原创 2018-04-16 17:04:17 · 1484 阅读 · 0 评论 -
链式表操作集(数据结构)
emmm,又遇到有趣的题目了6-5 链式表操作集(20 分)本题要求实现链式表的操作集。函数接口定义:Position Find( List L, ElementType X );List Insert( List L, ElementType X, Position P );List Delete( List L, Position P );其中List结构定义如下:typedef str...原创 2018-04-28 20:40:51 · 4983 阅读 · 1 评论 -
最小堆输出
还是何钦铭老师讲的好,这题就直接进入主题吧,就是从老师的视频课程学来的,代码也是原生代码。说实话,目前虽然刚学完哈夫曼和大小堆,但暂时没有去实现代码所以还不能熟练掌握和应用,但是大小堆的简洁和以前的有些不一样,用顺序表的方式来表达树的结构逻辑。#include<stdio.h>#include<malloc.h>#define MAXN 1001#define MIN...翻译 2018-05-05 12:07:32 · 789 阅读 · 0 评论 -
顺序表操作(数据结构)
这题我着实弄了很久,一直找不到一个小小的错误,虽然简单,不过代码的严谨性我还差很远的感觉。函数接口定义:List MakeEmpty(); Position Find( List L, ElementType X );bool Insert( List L, ElementType X, Position P );bool Delete( List L, Position P );其中Li...原创 2018-04-26 21:01:33 · 473 阅读 · 1 评论 -
单链表逆转(数据结构)
这题看了很多个版本,但基本看不懂,毕竟最怕就是没有注释自己来推,更准确点说,数据结构需要的是思路的传达而不是直接给个代码。最后在一个博主那里看到了他的思路详解,感觉需要学习一下。6-1 单链表逆转(20 分)本题要求实现一个函数,将给定的单链表逆转。函数接口定义:List Reverse( List L );其中List结构定义如下:typedef struct Node *PtrToNode;...原创 2018-04-26 18:39:09 · 23970 阅读 · 20 评论 -
二叉树的创建和遍历(递归遍历 · 数据结构)
这是数据结构里面的二叉树的创建和遍历,也是按照书本的思路打的,如果大家对于我的代码有什么好的建议,可以留言告诉我,或者如果你也是大一学这个,可以参考一下我写的。#include<stdio.h>#include<malloc.h>#define MAXSIZE 10000typedef struct TNode *Position;typedef Posit...原创 2018-04-16 16:50:53 · 734 阅读 · 0 评论 -
二叉树的创建和遍历(递归遍历 · 数据结构)
这是二叉树的简单建立,输入的是整型。这是我的个人建议,二叉树的基础就是创建和遍历的理解,好好打出这份代码挺重要的。堆栈和链表都用上了,但我的代码里,堆栈是不用于存储,而是用于位置的记录,链表才是用于数据的存储,这个要分清。#include<stdio.h>#include<malloc.h>#define NoInfo 0#define MAXSIZE 100t...原创 2018-04-16 17:19:09 · 705 阅读 · 1 评论 -
二叉搜索树(递归遍历 · 数据结构)
在二叉树的简单建立成功后,接着就是二叉树的简单应用了,我在二叉树的原有基础上建立了二叉搜索树,主要是对二叉搜索树的删除的那块理解可能有点困难。#include<stdio.h>#include<malloc.h>#define NoInfo 0#define MAXSIZE 100typedef struct TNode *Position;typedef Po...原创 2018-04-18 00:31:10 · 559 阅读 · 0 评论