自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 二叉树 (操作与一些节点计算题)

二叉树的二叉链表结点结构定义typedef struct BiTNode/*结点结构*/{ char data;//结点数据 struct BiTNode* lchild, * rchild;//左孩子,右孩子。}BiTNode,*BiTree;1.前序遍历前序遍历的规则时若二叉树为空,则空操作返回,否则 先访问根节点,然后前序遍历左子树,在前序遍历右子树,如图:这个二叉树的前...

2020-03-30 21:46:05 978

原创 链式队列操作 C语言

typedef struct QNode//结点结构{ int data; struct QNode* next;}QNode,*Queueptr;typedef struct//队列的链表结构{ Queueptr front;//头指针 Queueptr rear;//尾指针}LinkQueue;1.初始化void InitQueue(LinkQueue &q)...

2020-03-25 16:35:07 222

原创 循环队列操作 C

队列的出入条件 是先进先出,就是队头出,队尾入,根据这个特性,我们可以用两个指针来代表队头的位置与队尾的位置,队头为front,队尾为 rear。我们假设一个长度为5的数组,来模拟队列:这时 rear和front 指针都指向 下标0的位置,所以我们判断队列为空时,就是当 rear指针==front指针。然后让a1,a2,a3,a4 入队,如图:所以当a1,a2,a3,a4入队时,fr...

2020-03-21 11:25:25 301

原创 链栈操作 c语言

链栈相较于循环栈的好处是,不需要知道空间大小,不用在乎栈是否满了。typedef struct StackNode//建立结构体{ int data; struct StackNode* next;}stacknode ,*stacklink;1.初始化链栈链栈的初始化就是构建一个空栈,即将栈顶指针设为空,来表示栈为空,不需要头节点。int Initstack(stacklink...

2020-03-15 23:54:53 182

原创 顺序栈(入栈,出栈操作)C语言

来一张图来理解栈#define Max_size 100//设置栈的最大空间typedef struct stack{ int* base;//栈底指针 int* top;//栈顶指针 int stacksize;//栈长度}Sqstack;2.初始化顺序栈int initStack(Sqstack& s)//初始化栈表{ s.base = (int*)mallo...

2020-03-15 22:49:14 5360 1

原创 约瑟夫问题(数组解决法)

这里n人围成一圈,就如图所示如果要删除结点4,则如图所示所以这里我们则想到用一些东西来存储每个值的下一个元素,所以这里我们用数组next,来存储每个元素的下一个位置。如图则就是next[1]=2,next[2]=3…next[10]=1;来构成一个圈。移除结点4,就可以将next[3]=next[4],来让next【3】中的4,变成5,来以此跳过结点4.如图我们就可以开始打代码...

2020-03-13 16:10:35 1366 1

原创 约瑟夫问题(循环链表解法)

由题可知,n个人围成一圈可以画出图来看当踢掉一个人的时候,我们就可以将他指向的下一个,给到他前面的人,这样就可以踢掉这个人,就像要将7踢掉,则将6下一个指向8,来将7给跳过,如图所以这里我们就可以建立循环链表来实现这个功能。首先我们先构造结构体指针#include<stdio.h>#include<stdlib.h>int n,k;typedef str...

2020-03-13 11:39:57 2757 2

原创 双向循环链表操作 C语言

typedef struct doublylink { int data; struct doublylink* prior;//前驱 struct doublylink* next;//后继}linkco, * dlinklist;1.初始化头节点这里解释一下为什么要用dlinklist& l。因为头节点在创建新的空间是,它的地址会发生改变,所以要是不加地址符,将无法传递新...

2020-03-11 16:27:12 128

原创 链表操作(初始化,插入,删除,遍历,查找,长度,销毁)c语言

1. 链表节点创建typedef struct Note { int data; struct Note* next;}lincode, * linklist;2. 链表初始化int lnitlist(linklist l)//初始化链表,创建一个空的链表;{ l = (linklist)malloc(sizeof(lincode)); if (!l) return 0;...

2020-03-05 18:23:08 1431

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除