数据结构----队列
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; } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步