peek 函数详解

什么是 peek 函数?

peek 函数是一种常见的操作,用于查看数据结构(如栈、队列)顶部或前端的元素,而不会将其移除。它常用于需要预览下一个元素但不改变数据结构状态的场景。

常见用途

代码示例

C++(使用 std::stack)

#include <iostream>
#include <stack>

int main() {
    std::stack<int> s;
    s.push(10);
    s.push(20);

    std::cout << "Top element: " << s.top() << std::endl; // 相当于 peek
    std::cout << "Size after peek: " << s.size() << std::endl; // 未改变

    return 0;
}

Python(自定义栈)

class Stack:
    def __init__(self):
        self.items = []

    def push(self, item):
        self.items.append(item)

    def peek(self):
        if not self.is_empty():
            return self.items[-1]
        raise IndexError("peek from empty stack")

    def is_empty(self):
        return len(self.items) == 0

s = Stack()
s.push(1)
s.push(2)
print("Peek:", s.peek())  # 输出: 2
print("Length:", len(s.items))  # 仍为 2

Java(使用 ArrayDeque)

import java.util.ArrayDeque;

public class Main {
    public static void main(String[] args) {
        ArrayDeque<Integer> deque = new ArrayDeque<>();
        deque.push(5);
        deque.push(10);

        System.out.println("Peek: " + deque.peek()); // 输出: 10
        System.out.println("Size: " + deque.size()); // 仍为 2
    }
}

注意事项

调用 peek 时需确保容器非空,否则可能引发异常(如 EmptyStackExceptionIndexError)。建议在调用前进行空值检查。

霍兰德职业兴趣测试(RIASEC)- 免费在线测评 广西职业适应性测试大纲 - 官方指南 | 职业规划与能力评估 职业心理测试量表 - 发现最适合你的职业方向 国企性格测试题 - 测测你适合在国企工作吗? 辅警职业能力测试真题 - 2025最新辅警考试题库 lespark拉拉公园充值 - 快速安全充值指南 专升本职业适应性测试 - 职业能力评估与指导 Stopped的短语搭配大全 - 常见英语搭配与例句 iPhone序列号查询 - 快速验证设备信息与保修状态 霍兰德职业兴趣测试入口 | 免费在线测评 Piskel像素画软件 - 免费在线像素艺术创作工具 peek原材料 - 高性能工程塑料特性、应用与供应商指南 iPhone 17 超薄版:极致轻薄,颠覆想象 | 全新旗舰智能手机 霍兰德职业兴趣测试表格图片 - 职业规划指导工具 HR面试性格测试题 - 专业职场性格评估工具 性格小测试 - 发现真实的自己 | 免费在线心理测试 iPhone 7 Plus 现在值多少钱?2025年最新价格参考 Keep Something For - 实用工具与文档处理指南 Speaking国外视频学习资源推荐 - 提升英语口语必备 EPA职业性格测试在线 - 免费专业性格测评工具 FPGA探索者性格测试 - 发现你的数字逻辑天赋 iPhone照片清理了怎么还占内存?原因与解决方法全解析 职场五种动物性格测试 - 发现你的职场天性 DeepSeek招聘官网入口 - 加入我们,共创未来 iPhone - 美国官网 | 探索最新 iPhone 系列 入职性格测试40题 - 专业职场性格评估工具 DeepSeek文字游戏设定 - 创意互动叙事指南 行测和职业能力测试一样吗?区别与联系解析 DevOps笔试题库 - 高频面试题与实战练习 MBTI职业性格测试表格 - 16种性格类型与职业匹配指南 未来职业规划测试 - 发现最适合你的职业道路 “Is Shaped Like”句型详解与英语学习指南 iPhone 4当年有多疯狂?回顾苹果史上最火爆的智能手机 高中职业技能测试 - 发现你的职业潜能 江西生物科技职业学院职业适应性测试 - 官方报名入口 iPhone怎么挂断电话?详细操作指南 - 苹果手机使用技巧 MBTI性格测试PPT - 16种性格类型详解与应用指南 iPhone 密码无法关闭?原因与解决方法全解析 iPhone 测量距离50米 - 使用 iPhone 自带测距仪精准测量 iPhone 自适应刷新率设置指南 - 提升流畅体验与续航 iPhone怎么看使用了几年?详细教程与技巧 行政能力职业测试题库 - 免费在线练习与解析 北森职业测试 - 专业职业规划测评工具 | 发现您的职业潜能 iPhone如何设置时间 - 详细图文教程 性格测试问卷真题 - 免费在线性格分析测试 电脑无法读取 iPhone 照片?原因与解决方法全解析 iPhone提示音大全 - 经典铃声与系统音效合集 常规型职业兴趣测试 - 发现适合你的职业方向 DeepSeek赛博算命 - AI命运预测与运势分析 possesss - 在线工具与文档处理专题 iPhone如何解锁另一台iPhone?详细教程与注意事项 iPhone授权经销商是正品吗?官方认证渠道全解析 霍兰德职业人格测试免费 - 发现你的职业兴趣类型 去澳门买 iPhone 划算吗?2025 最新价格对比与购物攻略 iPhone iCloud 登录 - 安全访问您的 Apple 账户 性格色彩测试结果分析 - 了解你的性格特质 iPhone 17 Pro 港版|最新旗舰智能手机|Apple 香港 苹果手机 iPhone 密码是什么?全面解析与安全建议 无iPhone如何激活苹果手表?详细教程与解决方案 iPhone换电池后显示“未知部件”?原因与解决方法全解析 MBTI职业性格测试题PDF免费下载 - 了解自我,规划未来 iPhone 13 死机了怎么办?强制重启方法全攻略 医学Dukes分期系统中文详解 | Dukes分期翻译与临床意义 spend什么情况下用to do?英语语法详解 四色性格测试 - 发现你的真实性格色彩 职业锚测试标准 - 免费在线职业定位工具 iPhone美版为什么便宜?全面解析美版iPhone价格优势与注意事项 DeepSeek指令词大全 - 高效使用DeepSeek大模型的提示词指南 DeepSeek文字游戏指令指南 - 创意互动玩法大全 职业性格分析报告 - 发现最适合你的职业方向 iPhone ID:苹果设备唯一标识详解与使用指南 实践视频 Speaking - 提升口语表达能力的实用资源 iPhone 13吃鸡有90帧吗?实测与性能解析 iPhone账户退出不了怎么办?完整解决方法指南 职业性格测试有哪些 - 常见职业性格测试大全 | 职业规划指南 iPhone 11 尺寸详解 | 屏幕大小、机身尺寸与重量全解析 性格色调测试 - 发现你的色彩性格 | 免费在线心理测试 iPhone分析数据代码大全 - 全面解析iOS设备数据分析方法 Keepsake人工智能 - 智能文档与数据处理解决方案 iPhone 官方網站 - 香港 职业性格测试结果图片 - 探索你的职业潜能 行政职业能力测试题库 | 免费在线练习与真题下载 iPhone从哪一款开始支持双卡?全面解析双卡iPhone机型 iPhone储存空间在哪里?全面解析iPhone存储位置与管理技巧 机考性格测试题型详解 - 全面了解各类性格测试题目 iPhone 允许所有人来电设置指南 - 解锁勿扰模式限制 iPhone华强北今日报价 - 最新行情与热门机型价格一览 MBTI性格测试PPT模板 - 16型人格分析演示文稿 peek、peer、peep 的区别详解 - 英语近义词辨析专题 EPA职业性格测试软件 - 发现你的职业潜能,规划完美职业生涯 iPhone如何恢复旧系统版本 - 完整教程与注意事项 dukes C期 - 专业文档处理与办公效率指南 霍兰德职业兴趣测试 - 发现你的职业方向 | 免费在线测评 高中生职业能力测试 - 发现你的职业天赋 职业兴趣和能力特长测试 - 发现你的职业天赋 专业适应性测试考什么 - 全面解析专业适应性测试内容与准备方法 中职专业适应性测试笔试 - 备考指南与资源中心 iPhone 12换电池指南 - 官方建议、价格与DIY教程 职业价值观念测试 - 发现你的职业价值观 | 免费在线测评 iPhone系统内存太大怎么清理?实用方法大全