C語言 佇列

2021-08-07 14:14:39 字數 1470 閱讀 8748

佇列是一種特殊的

線性表,特殊之處在於它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。

佇列的鏈式儲存結構:

#include #include /*定義乙個鍊錶*/

typedef struct _node

node;

/*定義乙個佇列*/

typedef struct _queue

queue;

/*建立乙個佇列*/

queue *creatqueue()

/*入隊操作:

入隊成功:返回true

入隊失敗:返回false

*/ bool inqueue(queue *q,int data)

return true;

}/*出隊操作:

出隊成功:返回true

出隊失敗:返回false

*/ bool dequeue(queue *q)

else

return true;

}/*計算佇列長度*/

int getlength(queue *q)

return len;

}int main()

迴圈佇列

#include #include #define maxsize 10

/*定義乙個佇列*/

typedef struct _queue

queue;

/*建立乙個佇列*/

queue *creatqueue()

/*入隊操作:

入隊成功:返回true

入隊失敗:返回false

*/ bool inqueue(queue *q,int data)

q->data[q->rear]=data;

q->rear=(q->rear+1)%maxsize;

printf("in queue success:\n");

return true;

}/*出隊操作:

出隊成功:返回true

出隊失敗:返回false

*/ bool dequeue(queue *q,int &data)

data=q->data[q->front];

q->front=(q->front+1)%maxsize;

printf("de queue success:\n");

return true;

}void printqueue(queue *q)

printf("the data of the queue is :\n");

int p=q->front;

while(p!=q->rear)

}int main()

佇列(C語言)

include include typedef int elemtype typedef struct list node typedef struct listquene quene 建立空佇列 quene createquene return q 判斷佇列是否為空 bool isemptyque...

C語言 佇列

佇列是一種特殊的線性表,特殊之處在於它只允許在表的前端 front 進行刪除操作,而在表的後端 rear 進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。即 插入 只能插入在鍊錶最後 出隊 只能從隊頭出 adt include include...

鏈佇列 C語言

include include typedef int elemtype typedef int status 鏈佇列結點結構 typedef struct qnode qnode 佇列鍊錶結構 typedef struct linkqueue 鏈佇列初始化 void initqueue linkq...