python链表应用源码示例,python源码示例,python链表应用源码


python链表应用源码示例,需要用到python os模块方法、函数和类的应用。

首先,先简单的来了解下什么是链表?链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。

python链表应用源码示例如下:

#-*-coding:utf8 -*-import osclass Head_List:    def __init__(self , id):        self.id = id        self.next = -1        self.length = 0            def setNext(self , value):        self.next = value            def addLength(self):        self.length = self.length + 1            def displayLength(self):        print self.length            def displayAll(self):        print 'head , id:' + str(self.id) + ' , next:' + str(self.next)    #def getLastNode(self):        class Node_List:    def __init__(self , id , data):        self.next = -1        self.data = data        self.id = id            def setNext(self , value):        self.next = value                    def displayAll(self):        print 'node , id:' + str(self.id) + ' , data:' + str(self.data) + ' , next:' + str(self.next)def addNode(head , node):    node.next = head.next    head.next = node.iddef delNode(node_one , node_two):    node_one.next = node_two.next            #main funtionsample = [38.6 , 47.6 , 53.7 , 54.9 , 55 , 80]hl = range(6)nl = range(6)for i in range(0,6,1):    hl[i] = Head_List(i)    nl[i] = Node_List(i , sample[i])for i in range(0,6,1):    if i == 0:        hl[0].setNext(nl[i].id)        hl[0].addLength()        continue    else:        for j in range(0,6,1):            if (int(nl[i].data - 35) / 5 ) == int((nl[hl[j].next].data - 35) / 5 ):                addNode(hl[j] , nl[i])                hl[j].addLength()                break            else:                if hl[j].next == -1:                    addNode(hl[j] , nl[i])                    hl[j].addLength()                    break                                           for i in range(0,6,1):    hl[i].displayAll()for i in range(0,6,1):    nl[i].displayAll()    

编橙之家文章,

评论关闭