資料結構 線性佇列

2021-10-23 05:14:27 字數 2273 閱讀 8661

/*

* 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 初始化乙...