09_双链表的实现
1、双向链表功能的定义方法说明size()返回链表中元素个数is_empty()判断链表是否为空insert(index, item)在指定位置插入元素append(item)在末尾插入元素remove(index)删除指定位置的元素set(index, item)修改指定位置的元素get(index)获取指定位置的元素find(item)查找链表中某个元素的位置for_each(func)遍历链表classNode:def__init__(self,item,prevNone,nextNone):self.itemitem self.prevprev self.nextnextclassDoublyLinkedList:# 初始化def__init__(self):self.__headNoneself.__tailNoneself.__size0# 返回链表中元素个数propertydefsize(self):returnself.__size# 判断链表是否为空defis_empty(self):returnself.__size0# 在末尾插入元素defappend(self,item):ifself.is_empty():# 单链表为空时新添加的元素既是 头结点也是尾结点new_nodeNode(item)self.__headnew_node self.__tailnew_nodeelse:# 往尾部添加new_nodeNode(item,self.__tail)self.__tail.nextnew_node self.__tailnew_node self.__size1# 在指定位置插入元素definsert(self,index,item):ifindex0orindexself.__size:raiseIndexError(下标越界!)ifindex0:# 头插new_nodeNode(item)new_node.nextself.__head self.__head.prevnew_node self.__headnew_nodeelifindexself.__size:# 尾插new_nodeNode(item)self.__tail.nextnew_node new_node.prevself.__tail self.__tailnew_nodeelse:# 中间插currentself.find_node_by_index(index)beforecurrent.prev new_nodeNode(item,prevbefore,nextcurrent)before.nextnew_node current.prevnew_node self.__size1# 删除指定位置的元素defremove(self,index):ifindex0orindexself.__size:raiseIndexError(下标越界。)ifindex0:# 删除头元素nodeself.__head self.__headnode.nextifnode.next:self.__head.prevNoneelifindexself.__size-1:# 删除尾元素nodeself.__tail self.__tailnode.previfnode.prev:self.__tail.nextNoneelse:nodeself.find_node_by_index(index)beforenode.prev afternode.nextbefore.nextafter after.prevbefore node.itemNonenode.prevNonenode.nextNoneself.__size-1deffind_node_by_index(self,index):ifindex0orindexself.__size:raiseIndexError(下标越界)ifindexself.__size/2:# 从头找nodeself.__headforiinrange(index):nodenode.next# 循环结束此时node为索引为index的元素else:nodeself.__tailforiinrange(self.__size-1,index,-1):# 从尾节点往回找时range 默认是递增的必须加上步长 -1nodenode.prev# 循环结束此时node为索引为index的元素returnnodedef__str__(self):result[]nodeself.__headwhilenode:result.append(node.item)nodenode.nextreturn-.join(result)if__name____main__:linkDoublyLinkedList()link.append(a)link.append(b)link.append(c)

相关新闻

AI 大模型日报 — 2026年8月3日(周一)

AI 大模型日报 — 2026年8月3日(周一)

📰 AI 大模型日报 — 2026年8月3日(周一)本期数据来源:OpenAI 官方博客 / Google AI 官方博客 / The Verge AI / 量子位 / 机器之心线索 / Hacker News 热榜 / Bing 资讯检索 说明:因搜索 API 额度受限,本期…

2026/8/4 9:31:35 阅读更多 →
新人入职30天:我这样搞懂企业AI网关

新人入职30天:我这样搞懂企业AI网关

我是今年刚入职的应届毕业生,岗位是平台运维。入职前我对"企业 AI 网关"的想象,就是一个高级版的 API 转发器。30 天后,我发现它比我以为的大得多。下面是我的真实上手路径,给同样刚接触这个领域的同学参考。第 1 周&am…

2026/8/4 9:30:35 阅读更多 →
RDP Wrapper:终极指南 - 免费解锁Windows家庭版远程桌面多用户功能

RDP Wrapper:终极指南 - 免费解锁Windows家庭版远程桌面多用户功能

RDP Wrapper:终极指南 - 免费解锁Windows家庭版远程桌面多用户功能 【免费下载链接】rdpwrap RDP Wrapper Library 项目地址: https://gitcode.com/gh_mirrors/rd/rdpwrap RDP Wrapper Library是一个创新的开源项目,专门为Windows家庭版和基础版用…

2026/8/4 9:30:35 阅读更多 →

最新新闻

Chapter IV — Phase-Space Projection and Steady-State Paradigms (Expanded)

Chapter IV — Phase-Space Projection and Steady-State Paradigms (Expanded)

4.2 Elliptical Orbits — Anisotropic Stability Domains “An ellipse is not a defective circle; it is the system’s honest visualization of its own fragility. Closure signifies continued viability; asymmetry flags the soft flanks that demand vigilant guardi…

2026/8/4 10:29:58 阅读更多 →
L2引擎与系统对接关键接口解析

L2引擎与系统对接关键接口解析

L2因果翻译引擎通过双向数学-语义翻译与闭环审计反馈机制与ShadowMetricApparatus系统对接,实现从数值异常到可解释语义的转换。具体对接流程如下: 1. 数据流对接接口 L2引擎通过以下三个核心接口与ShadowMetricApparatus交互: # L2因果翻…

2026/8/4 10:29:58 阅读更多 →
相空间轨迹分类实战解析

相空间轨迹分类实战解析

from enum import Enum from dataclasses import dataclass from typing import List, Optional, Tuple import numpy as npclass PhaseSpacePattern(Enum):"""三类相空间形态枚举标签"""STABLE_ELLIPSE "stable_ellipse"BIFURCATION…

2026/8/4 10:29:58 阅读更多 →
为什么你的老Mac值得升级到最新macOS?OpenCore Legacy Patcher完整指南

为什么你的老Mac值得升级到最新macOS?OpenCore Legacy Patcher完整指南

为什么你的老Mac值得升级到最新macOS?OpenCore Legacy Patcher完整指南 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你的MacBook Pro或iMac明明…

2026/8/4 10:29:58 阅读更多 →
Sunshine游戏串流:终极自托管云游戏解决方案完整指南

Sunshine游戏串流:终极自托管云游戏解决方案完整指南

Sunshine游戏串流:终极自托管云游戏解决方案完整指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine是一款开源的自托管游戏串流服务器,专为Moonl…

2026/8/4 10:28:58 阅读更多 →
今天最重要的问题是什么?

今天最重要的问题是什么?

一个人的一天如何度过,取决于他是否能够识别“真正重要的问题”。很多人每天很忙: 回复消息。 刷信息。 处理琐事。 做大量事情。但是晚上回顾: 发现: “今天好像什么重要的东西都没有推进。”原因: 不是不努力。 而是…

2026/8/4 10:28:58 阅读更多 →

日新闻

AI Agent白手起家26: 使用标准事件驱动大模型实践

AI Agent白手起家26: 使用标准事件驱动大模型实践

纲要 练习目标:掌握大模型标准事件的调用回顾 LangChain 中的核心标准事件 invokestreambatchastream_eventswith_structured_output 环境准备实战代码:多种事件调用对比 同步调用与流式输出批量处理异步事件流监听结构化输出 运行说明与预期结果总结与扩…

2026/8/4 0:00:40 阅读更多 →
dealsea是什么?跨境卖家必知的美国deal站入门指南

dealsea是什么?跨境卖家必知的美国deal站入门指南

说实话,第一次听说美国这个老牌折扣网站的跨境卖家,十个有八个会问同一个问题:这个平台到底是干嘛的?我见过一个做家居出口的朋友,他在亚马逊上月销二十万美金,却从来没用过它。我给他看了首页——一屏一屏…

2026/8/4 0:01:40 阅读更多 →
清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

通讯作者:邓兵、刘建国通讯单位:清华大学DOI:https://doi.org/10.1021/acs.est.6c00603研究背景稀土元素(REEs)是清洁能源技术与电子器件不可或缺的核心原料,然而传统提取方式依赖能耗高、排放大的采矿与强…

2026/8/4 0:01:40 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/3 4:58:13 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/3 1:53:31 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/4 5:26:40 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/3 13:07:03 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/3 5:19:38 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/3 8:27:36 阅读更多 →