玩蛇网提供最新Python编程技术信息以及Python资源下载!

python链表应用源码示例

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

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

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

#-*-coding:utf8 -*-
import os

class 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.id

def delNode(node_one , node_two):
    node_one.next = node_two.next
        
    
#main funtion
sample = [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()
    

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/code/c2147.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年03月06日 - 20时57分57秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python源码实例 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules