From d8bc3ba3e596dde7fe2c8b1066d0613281662423 Mon Sep 17 00:00:00 2001 From: S-N-O-R-L-A-X Date: Mon, 5 Dec 2022 22:05:40 +0800 Subject: [PATCH] feat: add queue in ts --- .../chapter_stack_and_queue/queue.js | 2 +- .../chapter_stack_and_queue/queue.ts | 31 +++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 codes/typescript/chapter_stack_and_queue/queue.ts diff --git a/codes/javascript/chapter_stack_and_queue/queue.js b/codes/javascript/chapter_stack_and_queue/queue.js index cb5b3e4..2a90008 100644 --- a/codes/javascript/chapter_stack_and_queue/queue.js +++ b/codes/javascript/chapter_stack_and_queue/queue.js @@ -6,7 +6,7 @@ /* 初始化队列 */ // Javascript 没有内置的队列,可以把 Array 当作队列来使用 -// 但是,要注意虽然Javascript有shift()函数可以去除队首元素,但是时间复杂度是O(n)的。 +// 注意:虽然Javascript有shift()函数可以去除队首元素,但是时间复杂度是O(n)的。 const queue = []; /* 元素入队 */ diff --git a/codes/typescript/chapter_stack_and_queue/queue.ts b/codes/typescript/chapter_stack_and_queue/queue.ts new file mode 100644 index 0000000..6b8fa4a --- /dev/null +++ b/codes/typescript/chapter_stack_and_queue/queue.ts @@ -0,0 +1,31 @@ +/** + * File: queue.js + * Created Time: 2022-12-04 + * Author: S-N-O-R-L-A-X (snorlax.xu@outlook.com) + */ + +/* 初始化队列 */ +// Typescript 没有内置的队列,可以把 Array 当作队列来使用 +// 注意:虽然Typescript有shift()函数可以去除队首元素,但是时间复杂度是O(n)的。 +const queue: number[] = []; + +/* 元素入队 */ +queue.push(1); +queue.push(3); +queue.push(2); +queue.push(5); +queue.push(4); + +/* 访问队首元素 */ +const peek = queue[0]; + +/* 元素出队 */ +const poll = queue.shift(); + +/* 获取队列的长度 */ +const size = queue.length; + +/* 判断队列是否为空 */ +const empty = queue.length === 0; + +export { }; \ No newline at end of file