實現鏈隊各種基本運算的演算法

2021-09-25 09:23:15 字數 1762 閱讀 5701

/**

*    實驗題目:

*        實現鏈隊各種基本運算的演算法

*    實驗內容:

*        編寫程式,實現鏈隊的各種基本運算,並在此基礎上設計乙個主程式,完成如下功能:

*    (1)初始化鏈隊q

*    (2)判斷鏈隊q是否非空

*    (3)依次進鏈隊元素a,b,c

*    (4)出隊乙個元素,輸出該元素

*    (5)輸出鏈隊q的元素個數

*    (6)依次進鏈隊元素d,e,f

*    (7)輸出鏈隊q的元素個數

*    (8)輸出出隊序列

*    (9)釋放鏈隊

*/#include

#include

typedef char elemtype;

typedef struct qnode

qnode;

typedef struct

liqueue;

/*-------------------------------初始化佇列q----------------------------*/

void initqueue(liqueue *&q)

/*-------------------------------釋放佇列q----------------------------*/

void clearqueue(liqueue *&q)

}free(q);                    // 釋放頭結點占用空間

}/*-------------------------------求佇列q的長度----------------------------*/

int queuelength(liqueue *q)

return n;

}/*-------------------------------判斷佇列q是否為空----------------------------*/

int queueempty(liqueue *q)

/*-------------------------------進佇列乙個元素----------------------------*/

void enqueue(liqueue *&q, elemtype e)

}/*-------------------------------出佇列乙個元素----------------------------*/

int dequeue(liqueue *&q, elemtype &e)

else                                    // 佇列中有多個結點時

e = t->data;                            // 提取元素

free(t);                                // 釋放隊頭結點

return 1;

}int main(void)

printf("\n");

printf("(9)釋放鏈隊\n");

clearqueue(q);

return 0;

}測試結果:

(1)初始化鏈隊q

(2)依次進鏈隊元素a,b,c

(3)鏈隊為非空

(4)出隊乙個元素a

(5)鏈隊q的元素個數:2

(6)依次進佇列元素d,e,f

(7)鏈隊q的元素個數:5

(8)出鏈隊序列:b c d e f

(9)釋放鏈隊

編寫乙個程式,實現鏈隊的各種基本運算

完成如下功能 1 初始化鏈隊q 2 判斷鏈隊q是否非空 3 依次進隊元素a,b,c 4 出隊乙個元素,並輸出該元素 5 輸出鏈隊q的元素個數 6 依次進鏈隊元素d,e,f 7 輸出鏈隊q的元素個數 8 輸出出隊序列 9 釋放鏈隊 include iostream using namespace st...

實驗3 2 實現鏈棧各種基本運算的演算法

現在構造鏈棧的各種基本運算的方法 time 2018 2 1 author zoujixiang school imnu include include typedef char elemtype typedef struct linknodelistack void initstack lista...

實現環形佇列各種基本運算的演算法

實現環形佇列各種基本運算的演算法 目的 領會環形佇列儲存結構和掌握環形佇列中各種基本運算演算法設計 主要功能 1 初始化佇列q 2 判斷佇列q是否非空 3 依次進隊元素a b c 4 出隊乙個元素,輸出該元素 5 依次進隊元素d e f 6 輸出出隊序列 7 釋放佇列 include include...