考研数据结构
人畜无害的萌新史莱姆
这个作者很懒,什么都没留下…
展开
-
顺序表的基本操作及实现(一)
这个顺序表实现数组采用的静态分配方法,一旦空间占满,再加入新的数据是将会产生溢出,进而导致程序崩溃!顺序表从存储类型描述如下:#define MaxSize 50typedef int ElemType;typedef struct{ ElemType data[MaxSize]; int length;}SqList;这里给出了顺序表的一些基本操作方法:void...原创 2019-09-05 10:50:05 · 1019 阅读 · 0 评论 -
顺序表的基本操作及实现(二)
这个顺序表实现数组采用的静态分配方法,一旦空间占满,再加入新的数据是将会产生溢出,进而导致程序崩溃!文末有完整的代码示例。顺序表从存储类型描述如下:#define MaxSize 50typedef int ElemType;typedef struct{ ElemType data[MaxSize]; int length;}SqList;这里给出了顺序表的一些...原创 2019-09-08 23:23:33 · 371 阅读 · 0 评论 -
顺序表的基本操作及实现(三)
这篇中,线性表的长度是可变的,且最大存储空间随问题的不同而不同,值C语言中可用动态分配的一维数组。(由于引用传参数,所以源文件需要.cpp后缀,即c++文件存储。)即使是动态分配内存,分配的内存也必然是一段连续的地址空间,因为这是顺序表,这是由其性质即可知道的。注意此时的 ElemType *data;,指针变量data指向的是线性表连续存储空间的首地址,即通过此指针可以顺序的找到所有存储空...原创 2019-09-09 09:34:14 · 290 阅读 · 0 评论 -
单链表及基本操作与实现
单链表的基本操作及基本实现如下:#include "stdio.h"#include "stdlib.h"typedef int ElemType;typedef struct LNode{ ElemType data; struct LNode *next;}LNode, *LinkList;LinkList InitList(LinkList &L);...原创 2019-09-09 12:04:24 · 372 阅读 · 0 评论 -
栈的基本操作及实现(顺序栈)
顺序存储结构来实现的栈称为顺序栈,它利用一组地址连续的存储单元存放自栈底到栈顶的数据元素,同时附设一个指针top来指示当前栈顶的位置。(注意,“&”是c++特有的用来表示引用调用,所以此文件应以.cpp后缀保存)结构体为:#define MaxSize 50typedef int ElemType;typedef struct{ ElemType data[MaxSiz...原创 2019-09-10 11:18:32 · 1398 阅读 · 1 评论 -
队列的操作与实现——循环队列
由于顺序队列有“假溢出”的缺点,所以在应用中,运用更多的是循环队列来实现队列的顺序存储。循环队列的判空条件为:Q.rear == Q.fornt;循环队列的判读队满的条件是:(Q.rear + 1) % MaxSize == Q.fornt;下面是队列实现的存储类型结构体:#define MaxSize 50typedef int ElemType;typedef struct {...原创 2019-09-13 10:07:36 · 338 阅读 · 1 评论 -
队列的操作及实现——链式队列
队列的链式存储表示,实际上就是一个有头指针和尾指针的单链表。单链表的表头为队头,单链表的表尾为队尾,由队列的性质,表头只能出队,表尾只能入队。它的结构体描述如下,分2部分,更容易看出来:typedef int ElemType;typedef struct LinkNode{ //结点的结构体 ElemType data; struct LinkNode *next;}...原创 2019-09-13 17:48:38 · 490 阅读 · 0 评论