C语言实现常用数据结构——队列】的更多相关文章

#include<stdio.h> #include<stdlib.h> #define MAX_SIZE 10 /* 用一个动态数组来实现队列 */ typedef struct Queue { int Capacity; int Front; int Rear; int Size; int data[MAX_SIZE]; } Queue; void Error(char *error) { printf("%s",error); } void FatalEr…
#include<stdio.h> #include<stdlib.h> typedef struct Node { int data; struct Node *next; } node; /*初始化链表: 1.首先给头指针分配空间,将头指针赋给temp 2.其次给每一个元素分配空间 3.将内容赋给当前节点的data,NULL赋给当前节点的next指针 4.把当前节点赋给(头指针)上一个节点的next指针 5.上一节点指针后移,准备初始化下个元素 6.最后返回当前链表的头指针*/…
#include<stdio.h> #include<stdlib.h> #define CAPACITY 20 /*堆有两个性质: * 1.结构性:堆必须是一颗完全二叉树 * 2.堆序性:堆的父节点要么都大于子节点,要么小于子节点,前者叫大顶堆,后者叫小顶堆: * 由此,堆可以用一个数组来表示,并有如下性质: * 1.对于任意i位置的元素,他的左子节点在2i位置,右子节点在2i+1位置: * 2.他的父节点(假如有)在i/2位置*/ /*创建一个小顶堆,size代表的是实际元素的…
#include<stdio.h> #include<stdlib.h> #define SIZE 20 #define LENGTH(a) (sizeof(a)/sizeof(a[0])) /* * 用链表存弧信息,一个存弧指向的顶点位置,第二存指向下条弧的指针,这样就将一个顶点指向的所有弧串起来 */ typedef struct enode { int v_index; struct enode *next_edge; } enode; /* * 在顶点存顶点名称和第一条依附…
#include<stdio.h> #include<stdlib.h> #define SIZE 10 typedef struct Tree { int data; struct Tree *left; struct Tree *right; } tree; int find(tree *t,int x) { ; if(t==NULL) { ; } if(t->data==x) { return i; } else if(x<t->data) { i++; f…
#include<stdio.h> #include<stdlib.h> //用链表实现栈 typedef struct Node { int data; struct Node *next; } node; int IsEmpty(node *p) { return p->next==NULL; } node *CreateStack() { node *p=(node*)malloc(sizeof(node)); p->next=NULL; return p; }…
1.数据结构-队列的实现-C语言 //队列的存储结构 #define MAXSIZE 100 typedef struct { int* base; //基地址 int _front; //头指针 int _rear; //尾指针 } SqQueue; //构造空队列---1 void InitQueue(SqQueue* Q); //队列的销毁---2 void DestroyQueue(SqQueue* Q); //队列的清空---3 void ClearQueue(SqQueue* Q);…
C语言内建数据结构类型 整型 整型数据是最基本的数据类型,不过从整形出发衍生出好几种integer-like数据结构,譬如字符型,短整型,整型,长整型.他们都是最基本的方式来组织的数据结构,一般是几位bytes,首个bit也许是符号位,剩下的(从大小端)读出来作为数值. 浮点型 指针型 [========] C语言聚合数据结构类型 数组 数组名字 数组名字在两种情况下是作为非第一个成员的指针常量,这里的两个情况是取数组名的地址:这是取数组的地址,不是取第一个成员的地址,第二个情况是sizeof的…
早在Java 2中之前,Java就提供了特设类.比如:向量(Vector).栈(Stack).字典(Dictionary).哈希表(Hashtable)这些类(数据结构)用来存储和操作对象组.虽然这些类都非常有用,但是它们缺少一个核心的,统一的主题.集合框架是为表示和操作集合而规定的一种统一的标准的体系结构.除了集合,该框架(framework)也定义了几个Map接口和类.Map里存储的是键/值对.尽管Map不是collections,但是它们完全整合在集合中. 所有的集合框架都包含如下内容:…
常用数据结构与算法的实现.整理与总结 我将我所有数据结构的实现放在了github中:Data-Structures-Implemented-By-Me 常用数据结构与算法的实现.整理与总结 KMP字符串匹配算法 环状队列 走迷宫算法 中缀表达式转后缀表达式 环装链表 双向链表 树 二叉树 树的广度优先搜索 二叉树的遍历 二叉树的非递归遍历 胜者树与败者树 ALV树 最小最大堆 节点的添加 删除节点 双端堆 双端堆的插入 双端堆的删除 插入排序 选择排序 合并(归并)排序 合并排序算法思路 改造归…