栈、队列
栈(Stack)
栈是一种遵循 后进先出(LIFO, Last In First Out)原则的数据结构。也就是说,最后被放入栈中的元素会最先被取出。
push():将一个或多个元素添加到数组的末尾,返回新数组的长度。pop():移除数组的最后一个元素,并返回该元素。peek()(自定义方法):查看数组的最后一个元素(栈顶元素),但不移除它。
代码:
let stack = []; // 入栈:将元素添加到栈的顶部 stack.push(10); // [10] stack.push(20); // [10, 20] stack.push(30); // [10, 20, 30] // 出栈:从栈顶移除元素 let popped = stack.pop(); // 30, stack变为 [10, 20] // 查看栈顶元素 let top = stack[stack.length - 1]; // 20
相关算法题:
队列(Queue)
队列遵循 先进先出(FIFO)原则,所以队列的主要操作是将元素添加到数组的末尾(push),从数组的开头移除元素(shift)以及查看队列头元素。
push():将一个或多个元素添加到数组的末尾(队尾)。shift():移除并返回数组的第一个元素(队头元素)。front()(自定义方法):查看数组的第一个元素(队头元素),但不移除它。
let queue = []; // 入队:将元素添加到队列的尾部 queue.push(10); // [10] queue.push(20); // [10, 20] queue.push(30); // [10, 20, 30] // 出队:从队列头部移除元素 let dequeued = queue.shift(); // 10, queue变为 [20, 30] // 查看队头元素 let front = queue[0]; // 20

浙公网安备 33010602011771号