用Python写一个简单的单向链表(包含头尾指针)

  • Post author:
  • Post category:python


最近学习数据结构,大部分以C语言为主,所以想尝试一下用Python编写,感觉指针和类实现思维上还是差距蛮大的

# -*- coding: utf-8 -*-
"""
Created on Mon Apr 01 22:20:44 2013

@author: zzcwing
"""

class listnode: ##定义一个Node的数据类型,包含data和nextnode
    data=None
    nextnode=None
    def __init__(self,lndata):
        self.data=lndata

class slist: ##定义一个list的数据类型,链表长度(listsize) 头链表(head)和尾链表(tail)
    listsize=0
    head=None
    tail=None
    def __init__(self): ##初始化 将头链表和尾链表及链表长度清空
        self.head=None 
        self.tail=None
        self.listsize=0
        
    def insertdata(self,value):  ##插入链表,始终插入到链表尾部
        newnode=listnode(value) ##建立一个插入链表的对象
        if self.head is None:   ##如果链表头为空,既链表本身为空,head和tail均为插入链表
            self.head=newnode  
            self.tail=newnode
            self.tail.nextnode=None  ##链表尾部指向None
   



版权声明:本文为zzcwing原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。