資料結構課後題原始碼

2021-07-12 01:04:33 字數 1146 閱讀 4040

題目描述:若將乙個雙端佇列順序表表示在一維陣列v[m]中,兩個端點設為end1和end2,並組織成乙個迴圈佇列。如圖3.29所示,試寫出雙端佇列所用指標end1和end2的初始化條件及隊空和隊滿條件,並基於此結構的相應的插入(enqueue)和刪除(dequeue)演算法。

下面是博主自己碼的演算法,思路很簡單,程式也進行簡單的注釋了,相信大家不難理解。

#ifndef doublequeue_h_

#define doublequeue_h_

#include using namespace std;

templateclass doublequeue //inline函式,用來置空佇列,主要是為了後面的測試程式

};templatedoublequeue::doublequeue(int sz) //類的建構函式,用來初始化累的私有成員

templatedoublequeue::~doublequeue() //析構函式,用來刪除類物件,釋放記憶體

templatevoid doublequeue::enqueuetail(const t & x)

else }

templatevoid doublequeue::enqueuehead(const t & x)

else }

templatebool doublequeue::dequeuetail(t & x)

else }

templatebool doublequeue::dequeuehead(t & x)

else }

templatevoid doublequeue::initiaqueue() //用來初始化佇列,這主要是來測試上述演算法的,大家可以根據自己需要來選擇是否留下此函式

cout << "含有" << maxsize << "個節點的佇列初始化成功了!" << endl;

}#endif

// 簡單的演算法測試程式,打擊可以自己設計測試程式

#include "stdafx.h"

#include "doublequeue.h"

int _tmain(int argc, _tchar* argv)

這是博主自己寫的,肯定存在很多不足,忘大家多多指出,博主也一直在學習,想進步,還有大家不喜勿噴!謝謝

資料結構課後題目原始碼

習題描述如下 假設以陣列q m 存放迴圈佇列中的元素,同時設定乙個標誌tag,以tag 0和tag 1來區別在隊頭指標 front 和隊尾指標 rear 相等時,佇列狀態為 空 還是為 滿 試編寫與此結構相應的插入 enqueue 和刪除 dequeue 演算法。以下是博主自己碼的 不喜勿噴!ifn...

資料結構課後題目原始碼

題目描述 若矩陣am n中的某一元素a i j 是第i行中的最小值,同時又是第j列的最大值,則稱此元素為該矩陣的乙個鞍點。試編寫乙個演算法找出乙個矩陣中的鞍點,並返回他的下標 如果有的話 這是乙個找矩陣鞍點的演算法,所謂的矩陣的鞍點指的是若a i j 是第i行的最小值,且是第j列的最大值,這a i ...

資料結構原始碼 迷宮

include include include include include define stack init size 1000 define stack more 10 define overflow 2 define ok 1 define error 0 define true 1 de...