題目要求:
請定義乙個順序佇列,可以對佇列進行「入隊」、「出隊」、「清空佇列」、「獲取隊首元素」等操作。鍵盤輸入一些命令,可以執行上述操作。本題中,佇列的元素為字母, 佇列的最大元素個數為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...