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程序设计有所帮助。

相关文章

浅谈function(函数)中的动态参数

我们可向函数传递动态参数,*args,**kwargs,首先我们来看*args,示例如下: 1.show(*args) def show(*args): print(args,typ...

详解python使用递归、尾递归、循环三种方式实现斐波那契数列

详解python使用递归、尾递归、循环三种方式实现斐波那契数列

在最开始的时候所有的斐波那契代码都是使用递归的方式来写的,递归有很多的缺点,执行效率低下,浪费资源,还有可能会造成栈溢出,而递归的程序的优点也是很明显的,就是结构层次很清晰,易于理解 可...

flask session组件的使用示例

一、简介 flask中session组件可分为内置的session组件还有第三方flask-session组件,内置的session组件功能单一,而第三方的flask-sessoin可...

python的else子句使用指南

在日常coding中,分支语句的使用非常普遍,经常会根据是否满足一定的条件对代码执行的逻辑进行一些控制,所以大家对if[elif[else]]一定不会陌生。分支语句中的else子句在其它...

Python常见数据结构详解

本文详细罗列归纳了Python常见数据结构,并附以实例加以说明,相信对读者有一定的参考借鉴价值。 总体而言Python中常见的数据结构可以统称为容器(container)。而序列(如列表...