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)

结果如下:

init single linknode is:

90->34->89->77->23

after delete node,the single linknode is:

90->34->89->23

[Finished in 0.3s]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值