/*
* description: 佇列的順序儲存方式的練習
* 主要是關於佇列的基本的操作
* 包括初始化佇列、判空佇列、入隊、出對
* 讀對頭元素以及讀隊中的所有的元素
* 本次練習採用的是 隊尾指標指向隊尾元素的下乙個位置
* author:qichaoqun
* date:2019/08/09
* */
#include "stdio.h"
#include "stdlib.h"
#define max_size 20
typedef int elemtype;
/** * 定義佇列
* 主要是包括佇列的資料段
* 佇列的頭指標和尾指標
*/typedef struct sqqueue;
void showmenu();
bool initqueue(sqqueue &sqqueue);
bool isemptyqueue(sqqueue &sqqueue);
bool enqueue(sqqueue &sqqueue,int value);
bool outqueue(sqqueue &sqqueue,int &outvalue);
int getheadvalue(sqqueue &sqqueue);
void getvalues(sqqueue &sqqueue);
int main()
break;
case 2:
//判斷佇列是否為空
if(isemptyqueue(sqqueue))else
break;
case 3:
//入隊
printf("請輸入要入隊的元素");
int value;
scanf("%d",&value);
if(enqueue(sqqueue,value))else
break;
case 4:
//出隊
int outvalue;
if(outqueue(sqqueue,outvalue))else
break;
case 5:else
break;
}case 6:
//獲取隊中的所有的元素
getvalues(sqqueue);
break;
case 7:
i***it = true;
break;
default:
printf("輸入錯誤請重新輸入\n");
break;}}
}/**
* 獲取隊中的所有的元素
*/ void getvalues(sqqueue &sqqueue)
printf("\n");
} else
}/**
* 獲取對頭的元素
*/ int getheadvalue(sqqueue &sqqueue)
return -65535;
}/**
* 出隊
* 值得注意的是,在進行出對操作時同樣的需要對佇列進行判斷
* 當隊列為空的時候則不能進行出對操作
* 當且僅當佇列不為空的時候進行出對的操作
*/ bool outqueue(sqqueue &sqqueue,int &outvalue)
//佇列不為空,則可以進行出對的操作
outvalue = sqqueue.head;
sqqueue.head++;
return true;
}/**
* 入隊
* 入隊之前要判斷佇列是否滿了
* 如果佇列滿了則不能入隊
* 如果沒有滿則可以入隊
*/bool enqueue(sqqueue &sqqueue,int value)
return false;
}/**
* 判斷佇列是否為空
* 順序佇列 採用小於最大長度的方式可能會產生假溢位
* 這也就是迴圈佇列產生的原因
*/ bool isemptyqueue(sqqueue &sqqueue)
return false;
}/**
* 初始化佇列
*/ bool initqueue(sqqueue &sqqueue)
void showmenu()
線性資料結構 佇列
上次說了,一頭進一頭出的就是棧,那麼什麼是佇列 queue 呢,就是一頭進另一頭出。正如我們排隊一樣,來了人只能站在隊尾,先走的人只能是隊頭。在佇列中,總是遵循fifo,fist in first out。這個就不再這裡過多敘述了,通常採用連續的資料空間儲存佇列中的元素,就像這樣子 其中front表...
資料結構 線性結構 佇列
陣列佇列 public class arrayqueuedemo class arrayqueue 判斷佇列是否已滿 public boolean isfull 判斷佇列是否為空 public boolean isempty 新增資料佇列 public void add int n rear arr...
資料結構 線性結構 佇列
include include include queue的鍊錶實現及常用操作 鍊錶帶頭結點 define elemtype int struct queue typedef struct queue queue void init queue queue front,queue back 初始化乙...