OJ刷題記錄 佇列的儲存結構與操作

2021-10-09 19:30:57 字數 1604 閱讀 6964

題目要求:

請定義乙個順序佇列,可以對佇列進行「入隊」、「出隊」、「清空佇列」、「獲取隊首元素」等操作。鍵盤輸入一些命令,可以執行上述操作。本題中,佇列的元素為字母, 佇列的最大元素個數為100。

輸入描述

輸入各個命令,它們對應的格式如下:

入隊:e a,a代表入隊的元素,這裡e和元素之間用空格分隔。

清空佇列:c

獲取隊頭元素:當輸入的命令為d時,輸出出隊的元素值;

當輸入的命令是g時,輸出當前隊首元素值;

如果沒有元素可出隊或可取,

輸出描述

當輸入的命令為d時,輸出出隊的元素值;

當輸入的命令是g時,輸出當前隊首元素值;

如果沒有元素可出隊或可取,請輸出none;

輸入樣例

e ag

ce bdd

q輸出樣例ab

none

解題思路:

每一次操作時需要對移動的陣列下標(head_ 或者 rear_)進行取模,以實現陣列的首尾迴圈,防止假溢位。

通關**:

#include

#define maxsize 100

using

namespace std;

class

queue

;queue::

queue()

void queue::

push

(char ch)

char queue::

pop(

)void queue::

clear()

char queue::

gethead()

intmain()

}catch

(const

char

* str)

}return0;

}

題目要求:

同上。解題思路:

水。通關**:

#include

using

namespace std;

struct node };

class

queue

;queue::

queue()

queue::

~queue()

}void queue::

push

(char ch)

char queue::

pop(

)void queue::

clear()

head_-

>_next =

null

; rear_ = head_;

}char queue::

gethead()

intmain()

}catch

(const

char

* str)

}return0;

}

畢。

OJ刷題記錄 線性表的儲存結構與操作

題目要求 請你定義乙個順序表,可以對順序表進行如下操作 1 在某個元素之前插入一些元素 2 刪除某個位置的元素 3 查詢某元素 4 獲取某個位置的元素 5 遍歷輸出所有元素 鍵盤輸入一些命令,可以執行上述操作。本題中,順序表元素為整數,順序表的第乙個元素位置為1,順序表的最大長度為20。在某個位置之...

佇列的順序儲存結構與操作

include using namespace std template class test template test test template void test getintoque m t m ntail temp m nsum inte ce template void test cl...

佇列的鏈式儲存結構與操作

include using namespace std struct infor template class test template test test template void test exit template void test cleanqueue m ptail m ptop m...