队列结构是一种常见的数据结构,从数据的逻辑结构来看是线性结构,从存储结构来说分顺序和链式存储。且队列的两个基本操作是入队列和出队列,在队头进行出队列操作,在队尾进行入队列操作.
队列中操作的对象:
public class DATA4 { String name; int age; }
队列的基本操作:
public class SQType { static final int QUEUELEN=15; DATA4[] data=new DATA4[QUEUELEN];//队列数组 int head;//队列头 int tail;//队列尾 /** * 初始化队列 */ SQType SQTypeInit(){ SQType q; if((q=new SQType())!=null){ q.head=0;//设置队头 q.tail=0;//设置队尾 return q; }else{ return null; } } /** * 判断空队列 */ int SQTypeEmpty(SQType q){ int temp=0; if(q.head==q.tail) temp=1; return temp; } /** * 判断满队列 */ int SQTypeIsFull(SQType q){ int temp=0; if(q.tail==QUEUELEN) temp=1; return temp; } /** * 清空队列 */ void SQTypeClear(SQType q){ q.head=0; //设置对头 q.tail=0;//设置队尾 } /** * 释放内存 */ void SQTypeFree(SQType q){ if(q!=null){ q=null; } } /** * 入队列 */ int InSQType(SQType q,DATA4 data){ if(q.head==QUEUELEN){ System.out.println("队列已经满了,操作失败"); return 0; }else{ q.data[q.tail++]=data; return 1; } } /** * 出队列 */ DATA4 OutSQType(SQType q){ if(q.head==q.tail){ System.out.println("队列已经为空"); System.exit(0); }else{ return q.data[q.head++]; } return null; } /** * 读取结点 */ DATA4 PeekSQType(SQType q){ if(SQTypeEmpty(q)==1){ System.out.println("空队列"); return null; }else{ return q.data[q.head]; } } /** * 计算队列长度 */ int SQTypeLen(SQType q){ int temp; temp=q.tail-q.head; return temp; } }
看看就明白了,也就这么几句.
从这个代码学到了:
1.就是队列的一些基本操作
2.++a,a++。用的确实巧妙,如果是我自己,应该不会那么写的
3.数据情况、释放内存
越来越淡静了...在想想这段代码,确实写的好.
相关推荐
* 基于双向链表实现双端队列结构 */ package dsa; public class Deque_DLNode implements Deque { protected DLNode header;//指向头节点(哨兵) protected DLNode trailer;//指向尾节点(哨兵) protected ...
队列结构及其算法动画演示系统里面包括队列的简介,顺序存储结构以及链式存储结构,算法描述, 算法源代码, 演示系统,可以独立运行。
一个经典的C语言队列结构源程序,非常适合学习数据结构的朋友,当然,也适合初学者。
* 基于双向链表实现双端队列结构 */ package dsa; public class Deque_DLNode implements Deque { protected DLNode header;//指向头节点(哨兵) protected DLNode trailer;//指向尾节点(哨兵) protected ...
主要介绍了Java定义队列结构,并实现入队、出队操作,结合完整实例形式分析了java数据结构中队列的定义、入队、出队、判断队列是否为空、打印队列元素等相关操作技巧,需要的朋友可以参考下
一种新的队列结构形式-双头共享队列.pdf
16337341_朱志儒_数据结构作业(二)_队列结构习题能由输入受限的双端队列得到的输出序列有:能由输出受限的双端队列得到的输出序列有:则(1)4132。
数据结构队列ADT
一种动态分配虚拟输出队列结构的片上路由器.pdf
实验内容: 假设以数组 sequ[MaxSize]存放环形队列的元素,同时 Rear 和 Len 分别指示环形队列中队尾元素的位置和内含元素的个数。设计相应的入队和出队算法。
掌握队列的应用,能根据问题特点选择队列结构。 " "(二).要求 " "定义循环队列的存储结构 " "完成入队、出队、取队头等基本操作的实现。 " "利用队列的基本操作实现n行杨辉三角的输出。 " "主函数调用杨辉三角输出...
/*作者:一条傻龙 *名称:单链队列 *编译环境:vc++ 6.0 *使用语言:c *功能:构造一个空队列,销毁队列,插入,删除,队列的建立(无法构造多个队列) *最后修改时间:2010-10-30 09:36 */
本代码在visual studio enterprise 2015 测试通过,请用户自行调试。若在其它编译器上调试,请将里面的scanf_s改回scanf。
队列实现,数据结构作业练习参考,Java实现,环境eclipes1.8
数据结构中队列的各种操作,可以正常运行~~~~~~~~~
总的来说,通过这两次的上机实验练习,我的收获比较多,基本上掌握了队和栈的基本知识,达到了实验要求的目的。
用Java实现数据结构中的队列 用Java实现数据结构中的队列
数据结构中队列的具体实现,给出了代码,可以加强对队列这一数据结构的理解和应用。希望大家下载后自己实现一下,得出正确的结果,真正的理解这一结构的思想。数据结构中队列的具体实现,给出了代码,可以加强对队列...
四、实验记录与实验结果分析1题程序代码:五、教材翻译TranslationChapter 9 Priority Queue*第九章 优先队列9.1 The Pr
使用队列实现排队系统