![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Tokai_teiorunner
本人小白,最终的目标是用代码创建银河帝国,谢谢你可以见证我的成长。
展开
-
数组的实现 数据结构 C语言实现
我们下面建立的数组包括:1.初始化2.遍历3.插入4.添加5.弹出(pop)6.判断是否为空7.判断是否为满由于Dev C++的c语言项目中是没有布尔类型的,所以我们用整数0和1来代替False和True#include <stdio.h>#include <stdlib.h>#include <malloc.h>typedef struct Array{ int * pHead;//数组第一个元素的地址! int l原创 2022-02-28 15:26:02 · 326 阅读 · 1 评论 -
快速排序 C语言实现
快速排序(假设我们要排成升序)的思想是:取第一个值为中间值,然后遍历(虽然是从数组两边同时遍历,但是时间复杂度依旧是O(n)),把比中间值小的放在中间值左边,把比中间值大的放在中间值右边。然后两边继续刚才的循环,其实也就是递归。#include <stdlib.h>#include <stdio.h>#include <malloc.h>void sort_(int *,int,int);//排序 int findpos(int*,int,int原创 2022-02-25 16:42:23 · 477 阅读 · 0 评论 -
静态建立二叉树 数据结构 C语言实现
下列代码要创建一个上图所示的二叉树(静态建立,如果要实现动态建立要用到递归,那个我还没学)我们下面要建立的二叉树比较低级,就一个初始化和一个先序遍历的功能。以后我学会的其他二叉树的操作一定会以一个萌新的视角分享自己的理解给大家,希望大佬们多多包涵。先序遍历是先访问根节点然后访问左子树和右子树的一种二叉树的遍历方式。另外二叉树还有另外两种遍历方式,中序遍历和后序遍历。中序遍历是先访问左子树再访问根节点再访问右子树。后续遍历是先访问左子树再访问右子树再访问根节点。要确定一棵二叉树..原创 2022-02-25 12:03:41 · 443 阅读 · 0 评论 -
动态栈 数据结构 C语言实现
动态栈本质上就是一个操作受限的链表。栈的结构由两部分组成,一个是包含了顶部指针和底部指针的结构体另一个就是链表顶部指针(p->pNext)指向的是栈顶的有效结点,底部指针指向的是头结点(数据域不存放有效数据)此链表和普通的单链表不同的是为了更好地实现栈地各种操作,我们是由栈顶元素以此指向栈底元素。下面代码包括了初始化,入栈,出栈,遍历,判断是否为空,和返回有效长度的操作。#include <stdio.h>#include <stdlib.h>#i原创 2022-02-21 15:20:56 · 740 阅读 · 0 评论 -
静态循环队列 数据结构 C语言实现
静态队列,可以理解为一个功能受限的数组静态队列只能是循环队列,如果不是循环的,那必然在不断出队的操作中,队列的内存空间变得越来越小。下面是代码。我们队列的结构体里面包含了四个元素,队列的头和队列的尾,以及一个指向调用数组的第一个元素位置的指针,还有这个数组本身的长度。在循环队列中,判断是否为空的条件是rear == front,为了避免判断是否为满的条件与之冲突,我们设计时就留出一个位置不用来存储数据。当(rear + 1)%length == front的时候就直接报满。我们是如何实.原创 2022-02-20 14:09:09 · 475 阅读 · 0 评论 -
数据结构 链表建立和相关操作函数的编写
#include <stdio.h>#include <malloc.h>#include <stdlib.h>typedef struct Node/*我们先创立一个结点的数据类型,其中包括一个整型数据和一个和自己同类的指针 变量*/{ int data; struct Node * pNext;}NODE,*PNODE;/*typedef用于给建立的数据类型和其地址进行定名,这里.原创 2022-02-17 15:50:32 · 647 阅读 · 0 评论