佇列(queue)在電腦科學中,是一種先進先出的線性表。和棧相反,它只允許在表的一端進行插入,而在表的另一端刪除元素。
佇列是一種特殊的線性表,它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。佇列中沒有元素時,稱為空佇列。
佇列具有先進先出(fifo)的特點。
佇列空的條件: front = rear
佇列滿的條件: rear = maxsize
typedef struct framedata
frame_data_st, *lpframe_data_st;
typedef struct framequeue
frame_queue_st, *lpframe_queue_st;
/*初始化佇列*/
int initframedata(lpframe_queue_st lq)
lq->front->next=null; //
lq->totallenght = maxsize ;
lq->currlenght = 0;
return true;
}//插入乙個元素到隊尾
int writenode(lpframe_queue_st lq, int data)
lpframe_data_st node = new frame_data_st;
node->data = data;
node->next = null;
lq->rear = lq->rear->next = node; //或者寫成lq->rear->next = node, lq->rear = node;
lq->currlenght++;
return true;
}//從隊頭出去乙個元素
int readframedata(lpframe_queue_st lq, int *data)
lpframe_data_st node= lq->front->next;
*data = node->data;
lq->front->next = node->next;
if(lq->rear==node)
delete node;
lq->currlenght--;
return true;
}/*摧毀整個佇列*/
void destoryframedata(lpframe_queue_st lq) }
帶頭結點的鏈佇列實現(C語言)
帶頭結點的鏈佇列 vs2010 除錯 include include include define ok 1 define error 0 define true 1 define false 0 typedef struct queue node qnode typedef struct queu...
帶頭結點的鏈佇列的基本操作
實現鏈佇列的入佇列及出佇列操作。status queueinsert linkqueue q,elemtype e status queuedelete linkqueue q,elemtype e 其中q和e都是使用者傳入的引數。linkqueue的型別定義如下 typedef int elemt...
資料結構 鏈佇列 帶頭結點
5.小結 include include define elemtype inttypedef struct linknode linknode typedef struct linkqueue 函式宣告 void initqueue linkqueue q 1.初始化佇列 bool liqueue...