使用鍊錶來實現佇列有其得天獨厚的條件,鍊錶靈活的節點刪除和增加操作,對於實現佇列來說尤其是小菜一碟。使用順序表來實現佇列還得為了有效使用空間而進行迴圈操作;即就是這樣依然還會發生溢位現象,所以,還是鍊錶來的爽快!
啥也不說,上**
///
//////
//////
//////
//////
//////
//////
//////
////// linkqueue.h
#include "stdafx.h"
#include
#include
#include
using namespace std;
const
int error=-1;
const
int ok=1;
typedef int status; //表示操作結果的狀態
///非迴圈鏈隊資料結構的c++說明
templateclass linkqueue
; typedef linknode* nodepointer;
linkqueue();
~linkqueue();
void randlinkqueue();
void display();
void clear();
status dequeue(elemtype &e);
status enqueue(elemtype &e);
private:
nodepointer front;
nodepointer rear;
};///
//////
//////
//////
//////
//////
//////
// 自動呼叫建構函式和析構函式
templatelinkqueue::linkqueue()
template linkqueue::~linkqueue()
templatevoid linkqueue::randlinkqueue()
}display();
}templatevoid linkqueue::display()
cout<6)<<"↑";
for (int i = 0; i < n-2; i++)
cout<6)<<"↑"
<6)<<"front";
for (int i = 0; i < n-2; i++)
cout<6)<<"rear"
templatestatus linkqueue::enqueue(elemtype &e)
// linkqueuetest.cpp : 定義控制台應用程式的入口點。
//#include "stdafx.h"
#include"linkqueue.h"
#include
using
namespace
std;
int _tmain(int argc, _tchar* argv)
資料結構 非迴圈鏈隊的c 實現
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...
佇列 迴圈佇列與鏈隊
2.鏈隊 注意 佇列也是線性表,其特殊性在於有特殊的運算規則。即 隊結構只能在一端進行插入,該操作端稱為隊尾,另一端刪除元素,該操作端稱為隊頭。按照 先進先出 first in first out,fifo 原則處理資料節點。之所以用迴圈對列,就是了為了提高利用率。要不然每刪除乙個元素,對頭就空了乙...
順序棧 鏈棧 迴圈佇列 鏈隊基本操作的實現
一 實驗學時 2學時 二 實驗目的 三 實驗內容 順序棧的建立 取棧頂元素 入棧 出棧 佇列的建立 取隊中元素 入隊 出隊 迴圈佇列中入隊 出隊操作 四 主要儀器裝置及耗材 五 實驗步驟 分析問題 寫出演算法 編制程式 上機除錯 分析結果 六 程式清單 1.順序棧 include include d...