数据结构
计算机老师小飞
这个作者很懒,什么都没留下…
展开
-
三维整形数组代码实现
本文以三维整形数组的方式来演示 1.三维数组主要是为了更好理解多维数组元素的位置 2.直接以int整形而不是ElemType方式是为了简化代码 #include <stdio.h> #include <stdlib.h> //定义三维整形数组 typedef struct tdarray { int m1; int m2; int m3; int *array; }TDArray; //创建三维数组 void Create(TDArray *tdarray, int m1,原创 2021-10-14 20:44:40 · 273 阅读 · 0 评论 -
简单一维数组的代码实现
数组中的元素按一定的顺序存放在一个连续的存储空间中 #include <stdio.h> #include <stdlib.h> //数组的简单操作代码 //为了便于理解,简化操作,作了如下删减 // 1.只是操作一维数组 //2.只有核心代码,没有进行健壮性处理,即没有返回错误信息这些代码 //定义一维数组 typedef struct array { int m; int *array; }Array; //创建数组 void Create(Array *a,int m)原创 2021-10-14 19:55:25 · 358 阅读 · 0 评论 -
简单递归函数的实现
递归函数是指调用自己的函数; 分为直接递归和间接递归 编写代码计算n的阶乘:n! 以递归方式计算 以循环语句计算 并比较两者的区别 #include <stdio.h> //以递归函数实现 //long Fact(long n) //{ // if(n==1) return 1; // return n*Fact(n-1); //} //以循环语句实现 long Fact(long n) { long temp=1,i; for(i=1;i<=n;i++) { temp *=原创 2021-10-14 19:51:21 · 289 阅读 · 0 评论 -
链式队列的操作
队列是一种特殊的线性表 队列限定在表的一端插入、在表的另一端删除,其中队尾rear是新元素依次入队的位置,而队头front是队列中元素出队的位置。 队列是一种先进先出(FIFO)的结构体,队列可用链式表来操作,代码如下所示 #include <stdio.h> #include <stdlib.h> //定义队列结构体 typedef int ElemType; typedef struct node { ElemType elem; struct node *next; } N原创 2021-09-24 10:35:38 · 80 阅读 · 0 评论 -
链式栈的操作
堆栈的链式表示操作 堆栈是一种限定在同一端进行插入和删除操作的线性结构 允许执行插入和删除的这一 端称为栈顶(top),另一端为栈底 堆栈有两种存储结构,顺序栈和链式栈 以下为链式栈的操作代码 #include <stdio.h> #include <stdlib.h> typedef int ElemType; //定义堆栈单链表 typedef struct node { ElemType elem; struct原创 2021-09-24 09:04:07 · 91 阅读 · 0 评论 -
顺序栈的操作
堆栈的顺序表示操作 堆栈是一种限定在同一端进行插入和删除操作的线性结构 允许执行插入和删除的这一 端称为栈顶(top),另一端为栈底 堆栈有两种存储结构,顺序栈和链式栈 以下为顺序栈的操作代码 #include <stdio.h> #include <stdlib.h> //堆栈的定义 typedef int ElemType; typedef struct stack { int top; int maxSize; Elem原创 2021-09-24 09:00:53 · 45 阅读 · 0 评论 -
队列的顺序操作
队列是一种特殊的线性表 队列限定在表的一端插入、在表的另一端删除,其中队尾rear是新元素依次入队的位置,而队头front是队列中元素出队的位置。 队列是一种先进先出(FIFO)的结构体,队列可用线性顺序表来操作,代码如下所示: #include <stdio.h> #include <stdlib.h> //定义队列结构体 typedef int ElemType; typedef struct queue { int front; int rear; int mSize原创 2021-09-24 08:55:31 · 610 阅读 · 0 评论 -
单链表的操作20210915
单链表的操作 以一种更好理解的方式编写代码 #include <stdio.h> #include <stdlib.h> typedef int ElemType; //定义单链表 typedef struct node { ElemType elem; struct node *next; }Node; typedef struct singleList { Node *first; int n; }SingleList; //初始化 int Init(SingleLi原创 2021-09-15 20:13:48 · 89 阅读 · 0 评论 -
带表头结点的单链表
为了简化算法,可以在单链表的头结点之前增加一个表头结点 表头结点的数据域中并不存放线性表中的数据元素 #include <stdio.h> #include <stdlib.h> #define ERROR 0 #define OK 1 #define Overflow 2 #define Underflow 3 #define NotPresent 4 #define Duplicate 5 typedef int Status; //带表头结点的单链表的定义 typedef in原创 2021-09-07 18:02:59 · 768 阅读 · 2 评论 -
单链表的操作
链表,不仅要存储每个数据元素,还需要存储其直接后继的存储地址 结点Node:数据域element+指针域link 每个结点只包含一个指针域的链表称为单链表 #include <stdio.h> #include <stdlib.h> #define ERROR 0 #define OK 1 #define Overflow 2 #define Underflow 3 #define NotPresent 4 #define Duplicate 5 typedef int Status原创 2021-09-07 17:33:26 · 52 阅读 · 0 评论