鏈佇列的定義及相關操作

2021-08-01 10:17:40 字數 1548 閱讀 9234

#include #include typedef struct node

node,*linkqueuenode;

typedef struct

linkqueue;

int getlength_linkqueue(linkqueue *q);//求鏈佇列的長度

bool initqueue(linkqueue *q);//鏈佇列初始化

bool enterqueue(linkqueue *q,int x);//入隊,將資料元素x插入到佇列q中

bool deletequeue(linkqueue *q,int *x);//出隊,將佇列q的隊頭元素出隊並儲存到x所指的儲存空間中

bool isempty_linkqueue(linkqueue *q);//判斷鏈佇列是否為空

void destroy_linkqueue(linkqueue *q);//銷毀鏈佇列

void clear_linkqueue(linkqueue *q);//清空鏈佇列

void gethead_linkqueue(linkqueue *q,int *x);//取得鏈佇列的頭部元素

void getrear_linkqueue(linkqueue *q,int *x);//取得鏈隊尾的頭部元素

void print_linkqueue(linkqueue *q);//輸出鏈佇列

int main(void)

printf("\n");

clear_linkqueue(q);

if(isempty_linkqueue(q))

printf("該隊列為空\n");

return 0;

}int getlength_linkqueue(linkqueue *q)//求鏈佇列的長度

return count;

}bool initqueue(linkqueue *q)//鏈佇列初始化

else

return false;//溢位

}bool enterqueue(linkqueue *q,int x)//入隊,將資料元素x插入到佇列q中

else

return false;//溢位

}bool deletequeue(linkqueue *q,int *x)//出隊,將佇列q的隊頭元素出隊並儲存到x所指的儲存空間中

bool isempty_linkqueue(linkqueue *q)//判斷鏈佇列是否為空

void destroy_linkqueue(linkqueue *q)//銷毀鏈佇列

}void clear_linkqueue(linkqueue *q)//清空鏈佇列

void gethead_linkqueue(linkqueue *q,int *x)//取得鏈佇列的頭部元素

void getrear_linkqueue(linkqueue *q,int *x)//取得鏈隊尾的頭部元素

void print_linkqueue(linkqueue *q)//輸出鏈佇列

printf("\n");

}}

普通佇列,迴圈佇列以及鏈佇列的相關操作

佇列,一種限定性的線性表。它只允許在表一端進行插入,而在表的另一端進行刪除操作。基於此,我們定義了乙個資料結構,包含首尾指標 class queue 置空佇列時 將rear front 1 public static queue initemptyqueue 在不考慮隊列為空的情況下,出佇列頭指標f...

迴圈佇列的定義及操作

include include define maxsize 50 typedef struct seqqueue void initqueue seqqueue q 初始化操作,將q初始化為乙個空的迴圈佇列 bool enterqueue seqqueue q,int x 入隊,將元素x入隊 bo...

佇列的定義及基本操作

1.佇列是一種先進先出的線性表,它的操作只能在表的兩端進行 2.分類 鏈佇列 鏈式表示 迴圈佇列 順序表示 結點結構 typedef struct qnodeqnode,qptr 鏈佇列結構 typedef struct linkqueue 建立空佇列 status initqueue linkqu...