1什么是队列结构
本质是线性结构,遵循着先进先出原则。
2队列结构基本操作
入队列:将一个元素添加到队尾。出队列:将队头的元素取出,同时删除该元素,是最后一个元素成为对头。
3用java代码表示队列
static final int queuelen =15;
class Data4{
string name;
int age;
}
class sqtype{
Data4[] data=new Data[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 sqtypeisempty(sqtype q){
int temp=0;
if(q.head=q.tail)
temp=1;
return (temp);
}
判断满队列
int sqtypeisfull(sqtype q){
int temp=0;
if(q.tail=queueen)
temp=1;
return(temp);
}
清空队列
void sqtypeclear(sqtype q){
q.head=0;
q.tail=0;
}
释放空间
voidsqtypefree(sqtype q){
if(q!=null)
{
q=null;
}
}
入队列
int insqtype(sqtype q.Data4 data){
if(q.tail==queuelen)
{
system.out.print(man le);
return (0);
}
else{
q.data[q.tail++]=data;
return(1);
}
}
出队列
Data4 outsqtype(sqtype q){
if(q.head==q.tail)
{
system.out.print(队列以空);
system.exit(0);
}
else{
return q.data[q.head++]
}
return null;
}
读取结点数据
Data4 peeksqtype(sqtype q){
if(sqtypeisempty(q)==1)
{
system.out.print(空队列);
return null;
}
else
{
return q.data[q.head];
}
}
计算队列长度
int sqtypelen(sqtype q){
int temp;
temp=q.tail-q.head;
return(temp);
}