資料結構 處理對列的上溢和下益問題

2021-07-02 16:00:56 字數 621 閱讀 3107

對應於演算法導論中的p131,重寫enqueue和dequeue,使之能夠處理佇列的上溢和下益

#include #include using namespace std;

#define maxsize 100

typedef struct queue

sqqueue;

/*兩個假定,隊尾指標指示隊尾元素在陣列中的當前位置的下乙個位置,隊頭指標指示

隊頭元素在陣列中當前元素,所以隊滿的時候其實是有乙個空位的,以區分隊空的情況

*/int enqueue(sqqueue &q,int x)

q.data[q.tail]=x;

q.tail=(q.tail+1)%maxsize;

return 1;

}int dequeue(sqqueue &q,int x) //x存放出棧的元素

q.head=(q.head+1)%maxsize;

x=q.data[q.head];

return 1;

}

注意:兩個假定,隊尾指標指示隊尾元素在陣列中的當前位置的下乙個位置,隊頭指標指示

隊頭元素在陣列中當前元素! 不同的書上可能有不同的定義

資料結構與演算法題目集(中文)7 1 最大子列和問題

題目鏈結 7 1 最大子列和問題 輸入樣例 6 2 11 413 5 2 輸出樣例 20解題思路dp入門題 做完這道題可以去看一下洛谷上的傳送門 p1115 最大子段和,跟這道題一模一樣 附上 include define int long long define lowbit x x x usin...

資料結構課後練習題(練習一)7 1 最大子列和問題

給定k個整數組成的序列,連續子列 被定義為,其中 1。最大子列和 則被定義為所有連續子列元素的和中最大者。例如給定序列,其連續子列有最大的和20。現要求你編寫程式,計算給定整數序列的最大子列和。本題旨在測試各種不同的演算法在各種資料情況下的表現。各組測試資料特點如下 輸入第1行給出正整數k 第2行給...

資料結構(17)佇列的鏈式儲存結構和雙端佇列

目錄 1 佇列的鏈式儲存 2 鏈式佇列的基本操作 2.1 初始化 2.2 判隊空 2.3 入隊 2.4 出隊 3 雙端佇列 3.1 輸出受限的雙端佇列 3.2 輸入受限的雙端佇列 佇列的鏈式表示稱為鏈佇列 它實際上是乙個同時帶有隊頭指標和隊尾指標的單鏈表。頭指標指向隊頭結點。尾指標指向隊尾結點,即單...