数据结构
IAmLinGe
这个作者很懒,什么都没留下…
展开
-
C++ 构建最小堆、最大堆
C++ 实现最大堆和最小堆的构造过程原创 2020-08-10 08:31:18 · 1983 阅读 · 0 评论 -
数据结构--数组实现线性表
用数组实现线性表数据结构,并编程实现相关操作函数。原创 2018-04-29 16:02:08 · 528 阅读 · 0 评论 -
数据结构--链式线性表
环境:dev c++ #include<stdio.h> #include<stdlib.h> typedef struct LNode *List; typedef int ElementType; struct LNode{ ElementType Data; List next; }; int Length(List Ptrl); Li...原创 2018-06-16 23:37:40 · 217 阅读 · 0 评论 -
基于顺序搜索的动态分区分配算法模拟内存动态分配--最佳适应算法(best fit,BF)
BF算法、男朋友算法,哈哈 要实现动态分区分配,需要考虑三个方面的问题。分别是数据结构、分区分配算法、分区的分配与回收操作。 首数据结构 这里我们使用的是空闲分区链,采用双向链表表示空闲分区。 具体实现如下: typedef struct LNode{ int order; //表示内存块的顺序 int start; ...原创 2018-06-27 05:29:32 · 4535 阅读 · 0 评论 -
数据结构--顺序栈
栈:限定仅在表尾进行插入或删除操作的线性表,对栈来说,表尾端为栈顶,表头端为栈底。 本文实现了顺序栈的表示和相关函数操作,以及一些验证性代码。 #include<stdio.h> #include<stdlib.h> #include<windows.h> #define STACK_INIT_SIZE 100 #define STACKINCREME...原创 2018-07-11 01:27:00 · 236 阅读 · 0 评论 -
栈的应用--数制转换
十进制N和其他d进制 N=(N div d)Xd+N mod d (其中:div为整除运算,mod为求余运算) void conversion(){ SqStack S; int N; SElemType e; Init_Stack(S); scanf("%d",&N); while(N){ Push(S,N%8);...原创 2018-07-12 00:10:13 · 392 阅读 · 0 评论 -
栈的应用--括号匹配的检验
算法中设置一个栈,每次读入一个括号,若是右括号,则或者与置于栈顶的括号匹配,或者是不合法的情况,若是左括号,则入栈。若算法结束,栈是空的,则括号合法。 括号匹配函数 Status bracket_match(){ SElemType brackets[100]; int i; SElemType e; SqStack S; Init_Stack(S...原创 2018-07-12 01:09:58 · 910 阅读 · 0 评论 -
栈的应用--汉诺塔
#include<stdio.h> void move(char x,int n,char y){ printf("%d号盘 %c柱 ---> %c柱\n",n,x,y); } void hanoi(int n,char x,char y,char z){ if(n==1){ move(x,1,z); } else{ ...原创 2018-07-15 23:53:35 · 231 阅读 · 0 评论