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)。建议在调用前进行空值检查。

Keep是什么软件?功能介绍与使用指南 三国路昭 - 重塑三国史诗,开启霸业征程 Superdry英语怎么读?发音、音标与中文意思详解 少年三国志放置版 - 三国题材放置卡牌手游官网 公务员Word文档格式标准指南 - 免费下载模板与排版教程 怎么画表格Word斜线?详细图文教程教你轻松完成斜线表头 - 在线Word技巧指南 三国志战略版郭淮最佳阵容搭配推荐 Word怎么粘贴为纯文本?多种方法一键去除格式 - 实用办公指南 dukes分期是什么意思 - 详解Dukes分期系统及其临床意义 Word文档末尾有一条横线?原因与解决方法全解析 Word文件太大上传不了?5种方法快速解决【2025最新指南】 三国志战略版内府探宝玩法全解析 - 游戏攻略与技巧 手机Type-C能充ThinkPad吗?兼容性与注意事项详解 spyder怎么读 - 发音、含义与使用指南 passed用英语怎么说?详解与例句 - 英语学习专题 Workday下载官网 - 免费获取Workday人力资源管理系统官方版本 Word文档制作流程图详细步骤 - 图文教程快速上手 三国丁奉 - 东吴猛将传奇 | 三国志英雄谱 三国志12免费版下载 - 经典策略游戏体验 ThinkPad Type-C充电接口详解 | 使用指南与兼容性说明 “upside”翻译成中文 - 含义、用法与例句详解 ThinkPad可以换CPU吗?详细解析与注意事项 三国志战略版张飞配速攻略 - 速度加点与阵容搭配指南 shaped是什么意思?英文单词“shaped”详细释义与用法解析 三国志11花鬘角色专题 - 属性技能攻略详解 三国志战略版先手速度机制详解 - 游戏攻略 ThinkPad联想T系列型号大全 - 完整商务笔记本型号指南 三国志后宫版 - 重塑三国传奇,体验乱世柔情 三国志战略版S3贾诩阵容搭配攻略 - 简明实用指南 三国志文鸯传 - 魏国猛将传奇 | 三国英雄志 Word文档行距怎么调?详细图文教程指南 - 轻松设置行距 ThinkPad P15v Gen 3 详细参数配置 三国志战略版第一队驻守策略指南 - 游戏基础攻略 ThinkPad如何拆无线网卡 - 详细图文教程 Workday手机登录指南 - 移动端登录步骤与使用技巧 ducks分期 - 灵活便捷的消费分期服务 三国志战略版 侠客军玩法指南 三国志战略版逢纪智力属性详解 - 基础信息与武将分析 少年三国志二 - 国风卡牌手游官网 | 策略对战RPG游戏 三国志战略版视野地图 - 游戏地图查看与信息参考 三国志8重制版最新版本更新详情 - 游戏资讯站 三国志9超三国志攻略大全 - 完整通关指南 三国志11孟获破局攻略 - 南蛮王崛起指南 三国志历史书原文 - 经典文献典藏 | 游戏化阅读体验 三国志战略版公孙瓒加点攻略 - 实用培养指南 Word文档完全指南 - 免费在线编辑、使用技巧与高效办公教程 ask、say、tell、speak 的区别详解 - 英语动词用法指南 Word转Excel在线转换工具 - 免费高效一键转换Word文档为Excel表格 怎样删除Word水印?图文详解快速去水印方法 Word文档字体格式设置完全指南 | 提升办公效率的实用技巧 ThinkPad T440p是哪一年发布的?详细信息 Word如何更改图片上的文字?详细图文教程指南 Spider牌子中文叫什么?品牌名称解析与介绍 三国志11191刘辟武将专题 - 历史背景与游戏攻略 Word文字旋转任意角度 - 图文教程与实用技巧大全 三国志战略版最强锋矢阵搭配攻略 - 阵容与战法详解 三国志战略版王道寻访技巧指南 三国志战略版配将推荐表格 - 实用阵容搭配指南 ThinkPad 投屏功能快捷键指南 | 快速连接显示器/投影仪 Seek It - 探索你的文档世界 怎么压缩Word文档?5种简单有效的方法(2025最新) 三国志雄霸天下 - 重塑历史,一统天下 DevOps 实践指南 - 自动化、协作与持续交付 ThinkPad E420更换固态硬盘(SSD)详细图文教程 三国志战略版侠客军迁城时间规则详解 三国志战略版最强武将阵容推荐 - 实用搭配指南 ThinkPad更换纽扣电池(CMOS电池)详细指南 Word如何调整文字到边界距离?详细图文教程指南 Word文档怎么转换成PDF?多种方法详解 - 免费高效转换指南 三国志战略版:貂蝉张角左慈阵容搭配攻略 ThinkPad 系列:经典商务笔记本的完整介绍 Word文档软件推荐 - 免费在线与手机电脑版Word工具大全 三国志11武将头像大全 - 完整武将图鉴 三国志贾诩传下载 - 官方正版游戏下载站 Word去除水印的6种方法 | 免费高效清除文档水印教程 三国杨祚 - 蜀汉名将专题 | 三国志游戏人物志 三国志战略版关羽锁卡机制详解 - 玩家攻略指南 Superdry中国官网 - 英伦潮流服饰品牌 YOOZOO少年三国志 - 热血三国卡牌手游官网 DeepSeek大乐透一组 - 免费生成大乐透号码推荐 stopped翻译成中文 - 英文单词stopped的中文意思与用法详解 stopped的中文翻译及用法详解 三国志战略版关关张开荒能打几级地?详细开荒能力解析 日本Superdry店在哪?门店地址与购物指南 中华三国志 - 重现三国风云,成就霸业传奇 seek汉语意思 - seek的中文翻译与用法详解 Word上标注怎么标?详细图文教程教你轻松添加批注 ThinkBook 官方网站 - 商务办公笔记本电脑首选 三国志8相性解除攻略 - 武将相性系统详解与解除方法 Peek溶解温度详解 - 高性能工程塑料特性指南 DOC是什么格式的文件?全面解析DOC文档与常见问题解决方法 ThinkPad X395 升级内存详细指南 - 简单易懂的扩容教程 三国志单机版安卓 - 经典策略手游下载 | 官方正版 Stopped From - 常见问题解析与解决方案 Stopped In - 探索暂停时刻的深度思考 三国志12 吕尚专题 - 谋略无双,智定天下 三国志14神眼 - 官方专题页 | 策略战争游戏 Word怎么往左移动?5种实用方法教你轻松调整内容位置 speak 和 say 的区别 - 英语用法详解 三国志战略版S1新手攻略 - 简明实用指南