一.用数组实现队列
由于数组声明出来,他能储存的类型和个数都是确定的,但在实际应用中我们不知道我们需要存储数据的个数,因此数组满足不了我们的需求.所以我们需要用数组队列来实现我们的需求.
数组队列可以根据我们储存数据的个数来动态改变数组的长度.
数组队列是实现原理:我们想在数组a[n]中加入一个元素时,生成一个新的数组b[n+1],把a中前面n个元素都给b中的前n项,把新加的元素给b[n+1].然后把b的地址赋给a.这样,就可以实现一个数组队列.
我们可以给数组队列定义各种方法,实现:增加,删除,插入,排序,获取某个元素,获取元素个数等各种方法来实现我们需求.
二.用链表实现队列
链表与数组不同的是,链表在内存中的储存空间是不连续的,而数组是连续的.链表是由节点组成的.节点可以根据需要储存数据的个数动态生成.
一个节点由两部分组成:一个是数据域,一个是指针域.链表在插入和删除数据时更方便.总体来说,感觉链表队列比数组队列更好用.
链表分为:单链表(只能是父节点引用子节点),双链表(相邻的节点可相互引用),循环链表(在双链表的基础上,头尾节点可相互引用).
实现链表,就是在链表里加入节点,使用节点的引用域使节点之间形成连接,可相互调用.
链表队列的实现原理:首先定义一个节点类,节点类包含引用域和数据域.然后定义一个链表类,链表类形成节点间的引用关系.链表类中需要有添加节点,删除节点,插入节点,修改节点,数据排序等.最后用主函数调用链表.
分享到:
相关推荐
利用数组和链表实现队列的基本操作,如入队,出队,读出队首元素
python利用数组和链表实现栈和队列 数组和链表.pdf
数组、链表、队列、栈数据结构特点,各自优点和缺点 数组和链表.pdf
go语言通过数组和链表的方式实现队列 数组和链表.pdf
数组、链表、队列、栈的区别和联系 数组和链表.pdf
队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,只允许在表的后端(rear)进行插入操作,下面介绍一下java使用数组和链表实现队列的示例
队列关于数组与链表的实现, linux c语言
数组、链表、堆栈和队列、线性表和顺序表 数组和链表.pdf
arithmetic java算法冒泡排序、二叉树、数组、链表、队列学习简单示例 private static void mpSoft(String [] data) { for (int i = 0; i ; i++) { System.out.println(Arrays.toString(data)); for (int j = 0; ...
超级数组和链表及栈队列
常见的数据结构(栈、队列、数组、链表和红黑树) 数组和链表.pdf
经过一上午的学习,对数据结构有了新的认识和理解 数组 数组是由有限个相同类型的变量所组成的有序集合,...栈是一种线性逻辑结构,可以使用数组实现,也可以使用链表实现。包含入栈还有出栈操作,遵循先入后出的原则(F
线性结构和非线性结构、稀疏数组、队列、链表(LinkedList) 数组和链表.pdf
java双端队列的实现-Java实现自定义双端队列(链表和数组两种方式) 数组和链表.pdf
c语言数组指定位置插入和删除-玩转C语言链表,单链表双向链表的建立遍历插入删除... 数组和链表.pdf
两个文件 一个是数组实现循环队列 一个是链表实现 功能是常用的基本功能 希望对大家有所帮助
数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。这篇文章主要介绍了使用python实现数组、链表、队列、栈的相关知识,需要的朋友可以参考下
基于JAVA实现的常用数据结构代码,JAVA实现复杂度、动态数组、链表、栈、队列、二叉搜索树等
循环链表队列的代码实现 循环数组队列的代码实现
完整代码 正确产生结果 三个类分开写 class linklist { protected: struct node { int data; node *next; }; node *head; int length; public: