c_数据结构_栈的实现】的更多相关文章

#include<stdio.h> #include<stdlib.h> #define STACK_INIT_SIZE 100 #define STACKINCREMENT 10 //stackincrement #define OVERFLOW -2 #define OK 1 #define ERROR 0 typedef struct{ int *base; int *top; int stacksize; }SqStack; //构建空栈 int InitStack(SqS…
# include <stdio.h> # include <malloc.h> # include <stdlib.h> typedef struct Node //建造节点 { int data; struct Node * pNext; }NODE, * PNODE; typedef struct Stack //建造栈所需要的两个参数 { PNODE pTop; //指向栈顶的元素 PNODE pBottom; //指向栈底没有实际含义的元素 }STACK, *…
2.1 数据结构有什么用? 当你用着java里面的容器类很爽的时候,你有没有想过,怎么ArrayList就像一个无限扩充的数组,也好像链表之类 的.好用吗?好用,这就是数据结构的用处,只不过你在不知不觉中使用了. 现实世界的存储,我们使用的工具和建模.每种数据结构有自己的优点和缺点,想想如果Google的数据用的是数 组的存储,我们还能方便地查询到所需要的数据吗?而算法,在这么多的数据中如何做到最快的插入,查找,删 除,也是在追求更快. 我们java是面向对象的语言,就好似自动档轿车,C语言好似…
栈:先进后出,只能在栈顶进行操作. 栈的操作主要包括在栈顶插入元素和删除元素.取栈顶元素和判断栈是否为空等. 栈的接口定义: public interface IStack<T> { int GetLength(); //求栈的长度 bool IsEmpty(); //判断栈是否为空 void Clear(); //清空操作 void Push(T item); //入栈操作 T Pop(); //出栈操作 T GetTop(); //取栈顶元素 } 字段 top 表示栈顶,top 的范围是0…
课程设计------邻接表 图的遍历实现课程设计:https://files.cnblogs.com/files/Vera-y/图的遍历_课程设计.zip #include<stdio.h> #include<stdlib.h> #include<windows.h> #define OK 1 #define MAX_VERTEX_NUM 20 //最大顶点个数 //邻接表存储结构 typedef struct ArcNode { //邻接顶点信息链表 int adjv…
传统的链表不能实现数据和链表的分离,一旦数据改变则链表就不能用了,就要重新开发. 如上说示:外层是Teacher,里面小的是node. #ifndef _MYLINKLIST_H_ #define _MYLINKLIST_H_ typedef void LinkList;//链表上下文,任意类型 typedef struct _tag_LinkListNode { struct _tag_LinkListNode* next;//包含下一个节点的地址 }LinkListNode;//节点 Lin…
# 链式存储#include<stdio.h> #include<stdlib.h> #define STACK_INIT_SIZE 100//存储空间初始分配量 #define STACKINCREMENT 10//存储空间分配增量 #define TURE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define OVERFLOW -2 typedef struct QNode{ int data; struct QNode…
#include<stdio.h> #include<stdlib.h> #define ERROR 0 #define OK 1 #define OVERFLOW -2 typedef struct Lnode{ int data; struct Lnode *next; }LNode,*LinkList; //初始化一个空指针 int InitList_L(LinkList &L){ L=(LNode *)malloc(sizeof(struct Lnode)); //…
#define OK 1 #define ERROR 0 #define OVERFLOW -2 #define LIST_INIT_SIZE 100 // 线性表存储空间的初始分配量 #define List_Increment 10 //线性表存储空间的分配增量 #include<stdio.h> #include<string.h> #include<stdlib.h> typedef struct{ int *elem; //存储空间的基地址 int lengt…
#include <stdio.h> #include <conio.h> #include <windows.h> #include <time.h> #define Height 25 //迷宫的高度,必须为奇数 #define Width 25 //迷宫的宽度,必须为奇数 #define Wall 1 #define Road 0 #define Start 2 #define End 3 #define Esc 5 #define Up 1 #def…