C語言實現鏈式佇列的基本功能

2021-10-05 14:51:52 字數 1647 閱讀 3907

//rear指向隊尾部元素,front指向隊頭元素的前乙個

//鏈式佇列相當與鍊錶很相似,有著頭指標和頭節點,傳引數也都是傳的指標,但是不同的是這裡的指標是結構體指標,可以看成二級指標

//所以在列印等函式中需要有個中間變數,否則會改變front和rear的指向

#include

#include

struct book

;struct node

;typedef

struct

linkqueue;

void

menu

(void);

void

insert_linkqueue

(linkqueue *q,

struct book data)

;void

print_linkqueue

(linkqueue *q)

;void

delete_linkqueue

(linkqueue *q)

;int

is_empty_linkqueue

(linkqueue *q)

;void

init_linkqueue

(linkqueue *q)

;int

main

(void

)insert_linkqueue

(q,data);}

break

;case2:

print_linkqueue

(q);

break

;case3:

delete_linkqueue

(q);

break

;case4:

ret =

is_empty_linkqueue

(q);

if(ret ==1)

printf

("empty linkqueue\n");

else

printf

("linkqueue not empty\n");

break

;default

:break;}

}return0;

}int

is_empty_linkqueue

(linkqueue *q)

void

menu

(void

)void

insert_linkqueue

(linkqueue *q,

struct book data)

void

print_linkqueue

(linkqueue *q)

printf

("%d\t%s\n"

,q->front->b.isbn, q->front->b.name)

; q->front = q->front->next;

} q->front = tmp;

}void

init_linkqueue

(linkqueue *q)

void

delete_linkqueue

(linkqueue *q)

free

(p);

}

c語言實現鏈佇列的基本功能

鏈佇列,實際上是乙個帶有頭指標和尾指標的單鏈表,頭指標指向頭節點 不存放資料 尾指標指向隊尾節點,雖然用頭指標可以確定乙個單鏈表,但是插入操作是在隊尾進行,如果沒有尾指標,會變得複雜 初始化 void init pqueue pq 注意 1 為頭指標和尾指標申請記憶體 入隊 void enqueue...

C語言實現順序佇列的基本功能

front指向佇列的隊頭元素,rear指向隊尾元素的下乙個。因為鏈式佇列有頭節點,順序佇列沒得頭節點 為了判斷是否未滿,最後乙個空間不放元素 include include define max 100 struct book typedef struct node sqqueue intis em...

c 佇列基本功能

include include include typedef int status define ok 1 define error 0 template class order tream int n status full 判斷是否為滿 status empty 判斷是否為空 void put...