随笔 - 7  文章 - 0  评论 - 0  阅读 - 1485

数据结构----队列

 

1.队列定义

1
2
3
4
5
6
7
8
9
10
11
12
13
14
static final int QUEUELEN=15;
 
class DATA3
{
    String name;
    int age;
}
 
class SQType
{
    DATA3[] data = new DATA3[QUEUELEN];
    int head;
    int tail;
}

2.初始化队列

1
2
3
4
5
6
7
8
9
10
11
12
13
14
SQType SQTypeInit()
{
    SQType q;
    if((q=new SQType())!=null)
    {
        q.head=0;
        q.tail=0;
        return q;
    }
    else
    {
        return null;
    }
}

3.判断空队列

1
2
3
4
5
6
7
int SQTypeIsEmpty(SQType q)
{
    int temp=0;
    if(q.head==q.tail)   
        temp=1;
        return temp;
}

4.判断满队列

1
2
3
4
5
6
7
int SQTypeIsFull(SQType q)
{
    int temp=0;
    if(q.tail==QUEUELEN)
        temp=1;
    return temp;
}

5.清空队列

1
2
3
4
5
void SQTypeClear(SQType q)
{
    q.head=0;
    q.tail=0;
}

6.释放空间

1
2
3
4
5
6
7
void SQTypeFree(SQType q)
{
    if(q!=null)
    {
        q=null;
    }
}

7.入队列

1
2
3
4
5
6
7
8
9
10
11
12
13
int InSQType(SQType q,DATA3 data)
{
    if(q.tail==QUEUELEN)
    {
        System.out.print("队列已满!操作失败!\n");
        return 0;
    }
    else
    {
        q.data[q.tail++]=data;                    //将元素入队列
        return 1;
    }
}

8.出队列

1
2
3
4
5
6
7
8
9
10
11
12
13
DATA3 OutSQType(SQType q)
{
    if(q.head==q.tail)
    {
        System.out.print("\n队列已空!操作失败!\n");
        return 0;
    }
    else
    {
        return q.data[q.head++];
    }
    return null;
}

9.读结点数据

1
2
3
4
5
6
7
8
9
10
11
12
DATA3 PeekSQType(SQType q)
{
    if(SQTypeIsEmpty(q)==1)
    {
        System.out.print("空队列“);
        return 0;
    }
    else
    {
        return q.data[q.head];
    }
}

10.计算队列长度

1
2
3
4
5
6
int SQTypeLen(SQType q)
{
    int temp;
    temp=q.tail-q.head;
    return temp;
}

  

  

  

  

  

  

  

  

  

posted on   Mathematics  阅读(156)  评论(0编辑  收藏  举报
< 2025年1月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示