Python实现针对给定单链表删除指定节点的方法

yipeiwu_com6年前Python基础

本文实例讲述了Python实现针对给定单链表删除指定节点的方法。分享给大家供大家参考,具体如下:

题目:

初始化定义一个单链表,删除指定节点,输出链表

下面是具体的实现:

#!usr/bin/env python
#encoding:utf-8
'''''
__Author__:沂水寒城
功能:给定一个单链表删除指定节点
'''
class Node(object):
  '''''
  节点类
  '''
  def __init__(self,data):
    self.num=data
    self.next=None
class DeleteNode():
  '''''
  实现删除指定节点功能
  '''
  def delete_node(self,node):
    node.num=node.next.num
    node.next=node.next.next
class PrintNode():
  '''''
  输出指定节点为起始节点的链表
  '''
  def print_node(self,node):
    res_list=[]
    while node:
      res_list.append(str(node.num))
      node=node.next
    print '->'.join(res_list)
if __name__ == '__main__':
  node1=Node(90)
  node2=Node(34)
  node3=Node(89)
  node4=Node(77)
  node5=Node(23)
  node1.next=node2
  node2.next=node3
  node3.next=node4
  node4.next=node5
  print 'init single linknode is:'
  printnode=PrintNode()
  printnode.print_node(node1)
  delete=DeleteNode()
  delete.delete_node(node4)
  print 'after delete node,the single linknode is:'
  printnode.print_node(node1)

结果如下:

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法

Python的字符集处理实在蛋疼,目前使用UTF-8居多,然后默认使用的字符集是ascii,所以我们需要改成utf-8 查看目前系统字符集 复制代码 代码如下: import sys p...

python画蝴蝶曲线图的实例

python画蝴蝶曲线图的实例

蝴蝶曲线是由Temple H·Fay发现的可用极坐标函数表示的蝴蝶曲线。 由于此曲线优美, 因此就想把它作为博客favicon.ico,这里我使用pytho matplotlib.pyp...

深入学习Python中的上下文管理器与else块

前言 本文主要个大家介绍了关于Python上下文管理器与else块的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 在开始之前,我们先来看看下面这段话: 最终...

python版本五子棋的实现代码

python版本五子棋的实现代码

正文之前 前阵子做了个《人工智能》 的课程作业,然后写了个人工智障。。。大概就是个可以跟你下五子棋的傻儿子。。。下面是代码和效果 正文 1、 摘要 机器博弈是人工智能领域的重要分支,它...

python实现超简单的视频对象提取功能

python实现超简单的视频对象提取功能

视频对象提取 与其说是视频对象提取,不如说是视频颜色提取,因为其本质还是使用了OpenCV的HSV颜色物体检测。下面话不多说了,来一起看看详细的介绍吧。 HSV介绍 HSV分别代表,...