佇列的鏈式儲存的兩種定義方式

2021-08-14 16:30:46 字數 1331 閱讀 7808

佇列的鏈式儲存的定義結點、初始化、判斷空、入隊、出隊、讀取隊頭元素、求佇列長度操作

方法一:

這種鏈佇列有頭指標,上圖分別為鏈隊列為空、非空、只有乙個元素的時候的情況,

**如下:

//佇列的鏈式儲存和操作的實現 

#include#include#includetypedef int datatype;

typedef struct nodelinknode;

typedef structlinkqueue;

void init_queue(linkqueue *&q) //佇列初始化,使front和rear都指向頭佇列的頭結點

int queue_empty(linkqueue *q) //判斷空操作

void push_queue(linkqueue *q,datatype x) //入佇列操作

void gethead_queue(linkqueue *q) //讀取隊頭元素

}void pop_queue(linkqueue *q) //出隊操作

} void queue_length(linkqueue *q) //求佇列的長度

printf("queue length is %d\n",t);

}int main()

方法二:

這種鏈佇列無頭結點,上圖分別為鏈隊列為空,元素進隊的情況

**如下:

#include#include#includetypedef int datatype;

typedef struct nodelinknode;

typedef structlinkqueue;

void init_queue(linkqueue *&q) //佇列初始化

void push_queue(linkqueue *q,datatype x) //入隊操作

else }

int queue_empty(linkqueue *q) //判斷空操作

void pop_queue(linkqueue *q) //出隊操作

} void gethead_queue(linkqueue *q) //讀取隊頭元素

void queue_length(linkqueue *q) //求佇列的長度

printf("queue length is %d\n",t);

}int main()

線性表的兩種儲存方式 順序儲存和鏈式儲存

線性表是一種儲存方式,可以想象是很多個車廂連起來的火車。每個車廂有兩個區域,乙個存放資料乙個鏈結下一節車廂。線性表的一些基本操作。初始化,增加元素,刪除元素,查詢元素,輸出表中元素。鏈式儲存 例如鍊錶一樣通過指標把不同區域的資料聯絡起來形成順序儲存。include include typedef s...

佇列的兩種儲存方式的介紹與實現

佇列是一種特殊的線性表,它的特殊之處在於它必須在佇列的頭部進行刪除元素,在佇列尾部插入元素。我們把佇列的頭部稱為對頭 front 佇列尾部叫做隊尾 rear 進行刪除元素位置叫隊頭 front 進行插入元素的位置叫在隊尾 rear 佇列的儲存的資料稱為佇列元素,因為只能在對頭進行刪除的操作,隊尾進行...

執行緒的兩種定義方式

執行緒的兩種定義方式 1,繼承thread類 1 定義執行緒 寫乙個類,繼承thread類,重寫run 方法。package com.hqyj.demo1 public class thread1 extends thread 2 啟動執行緒 直接new這個類,呼叫這個類的start的方法 pack...