帶頭結點的鏈佇列實現

2021-12-29 22:53:23 字數 1238 閱讀 2585

佇列(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...