数据结构
学习历程!
丿白驹过隙丶
这个作者很懒,什么都没留下…
展开
-
线性表——单链表顺序存储
#include <iostream> #include <stdlib.h> #define SIZE 100 using namespace std; /** *定义:动态数组 长度 容量 * * */ typedef struct SqList { int *head; int length; int size; } SqList; void init(SqList &L) { L.head = new int(100); if (!L.head) .原创 2021-02-08 20:35:22 · 185 阅读 · 0 评论 -
图的基本概念和邻接矩阵存储结构
图:基本概念 图 { 有向图{ 弧:连接线 —— 无箭头——初始点(弧尾) 箭头处——“终端点”(弧头) 入度:-->(远离、逃离顶点的数目) 出度:<--(靠近、顶点的数目) 描述:<v1,v2> } 无向图{ 边:连接线 —— 描述:(v1,v2) } 路径和回路: 路径:v1到v2途径的...原创 2021-02-04 20:06:09 · 157 阅读 · 0 评论 -
队列——链式队列
#include <stdio.h> #include <stdlib.h> //队列数据结构的定义 //插入、删除 //判断空、非空 typedef struct Qnode { //先定义数据结点 int data; struct Qnode *next; } Qnode, *QueuePtr; typedef struct { QueuePtr front; QueuePtr rear; } LinkQueue; void InitQueue(LinkQueue.原创 2021-01-25 19:57:24 · 105 阅读 · 0 评论 -
栈的应用——十进制转八进制
#include <stdio.h> #include <stdlib.h> #define STACK_INIT_SIZE 100 #define STACK_ADD_SIZE 10 //存储空间分配增量 typedef struct { int *base; int *top; int stacksize; //当前可用最大容量 } SqStack; void conversion(int i); //初始化时不限定栈的最大容量,可以设定某一大小,不够再扩容 v.原创 2021-01-25 17:49:50 · 514 阅读 · 0 评论 -
数据结构之——栈
栈是一种只能从表的一端存取数据且遵循 "先进后出" 原则的线性存储结构。 栈的开口端被称为栈顶;封口端被称为栈底。 顺序表设定两个变量:1、栈顶指针top 2、栈底指针base(不动) 顺序表中设定一个实时指向栈顶元素的变量(一般命名为 top),top 初始值为 -1,表示栈中没有存储任何数据元素,及栈是"空栈"。一旦有数据元素进栈,则 top 就做 +1 操作;反之,如果数据元素出栈,top 就做 -1 操作。 数组实现 package TestZhan; public class ...原创 2020-05-29 15:54:42 · 257 阅读 · 0 评论 -
栈——顺序栈
#include <stdio.h> #include <stdlib.h> #define STACK_INIT_SIZE 100 #define STACK_ADD_SIZE 10 //存储空间分配增量 typedef struct { int *base; int *top; int stacksize; //当前可用最大容量 } SqStack; //初始化时不限定栈的最大容量,可以设定某一大小,不够再扩容 // void InitStack(SqStack *.原创 2021-01-25 17:27:31 · 98 阅读 · 0 评论 -
循环链表实现
#include <stdio.h> #include <stdlib.h> typedef struct DuLNode { int data; struct DuLNode *piror; struct DuLNode *next; } DuLNode, *DuLinkList ; //创建链表用LinkList //创建结点用LNode //初始化 void InitList_DuL(DuLinkList *L); //置空 void ClearList_DuL(Du.原创 2021-01-25 17:20:51 · 128 阅读 · 0 评论