diff --git a/docs/chapter_stack_and_queue/queue.md b/docs/chapter_stack_and_queue/queue.md index a663b9745..87f0abd9c 100644 --- a/docs/chapter_stack_and_queue/queue.md +++ b/docs/chapter_stack_and_queue/queue.md @@ -20,13 +20,13 @@ comments: true
-| 方法 | 描述 | -| --------- | ------------------------ | -| offer() | 元素入队,即将元素添加至队尾 | -| poll() | 队首元素出队 | -| front() | 访问队首元素 | -| size() | 获取队列的长度 | -| isEmpty() | 判断队列是否为空 | +| 方法 | 描述 | +| --------- | ---------------------------- | +| offer() | 元素入队,即将元素添加至队尾 | +| poll() | 队首元素出队 | +| front() | 访问队首元素 | +| size() | 获取队列的长度 | +| isEmpty() | 判断队列是否为空 |
@@ -143,13 +143,63 @@ comments: true === "JavaScript" ```js title="queue.js" +/* 初始化队列 */ + // Javascript 没有内置的队列,可以把 Array 当作队列来使用 + // 注意:虽然Javascript有shift()函数可以去除队首元素,但是时间复杂度是O(n)的。 + const queue = []; + /* 元素入队 */ + 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; ``` === "TypeScript" ```typescript title="queue.ts" + /** + * 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; ``` === "C"