資料結構 非迴圈鏈隊的c 實現

2021-10-05 17:34:52 字數 1738 閱讀 4290

#pragma once

//非迴圈鏈隊

#ifndef my_head_h

#define my_head_h

#include

"g://code/c++/myhead.h"

#endif

// !my_head_h

template

<

typename elemtype>

class

linkqueue

;typedef queue_node* nodepointer;

public

://把佇列置空

void

clear()

;//出佇列(刪除鏈隊隊頭結點)

status dequeue

(elemtype& e)

;//進佇列(在隊尾加入結點)

void

inqueue

(elemtype e)

;//求鏈隊中結點個數

intget_length()

;//以隨機數填充i個結點

void

random_fill_queue

(int i)

;//列印所有結點

void

display_queue()

;linkqueue()

;~linkqueue()

;protected

: nodepointer rear;

//隊尾指標

nodepointer front;

//隊首指標};

template

<

typename elemtype>

void linkqueue

::clear()

front =

null

; rear =

null;}

template

<

typename elemtype>

status linkqueue

::dequeue

(elemtype& e)

template

<

typename elemtype>

void linkqueue

::inqueue

(elemtype e)

else

}template

<

typename elemtype>

int linkqueue

::get_length()

return length;

}template

<

typename elemtype>

void linkqueue

::random_fill_queue

(int i)

}template

<

typename elemtype>

void linkqueue

::display_queue()

cout << endl;

}template

<

typename elemtype>

linkqueue

::linkqueue()

template

<

typename elemtype>

linkqueue::~

linkqueue()

非迴圈鏈隊類C 定義

使用鍊錶來實現佇列有其得天獨厚的條件,鍊錶靈活的節點刪除和增加操作,對於實現佇列來說尤其是小菜一碟。使用順序表來實現佇列還得為了有效使用空間而進行迴圈操作 即就是這樣依然還會發生溢位現象,所以,還是鍊錶來的爽快!啥也不說,上 linkqueue.h include stdafx.h include ...

c 資料結構 隊的實現

鏈式儲存 include include define stack init size 100 儲存空間初始分配量 define stackincrement 10 儲存空間分配增量 define ture 1 define false 0 define ok 1 define error 0 de...

資料結構迴圈佇列與鏈隊的基本操作

一.定義 佇列是一種特殊的線性表,特殊之處在於它只允許在表的前端 front 進行刪除操作,而在表的後端 rear 進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。佇列中沒有元素時,稱為空佇列。二.特點 佇列的特點是先進先出。例如排隊付款,先...