大数据 爬虫Python AI SqlPython,web开发,前端技术分享码农的世界

【Python】python链表应用源码示例

2019-07-16  本文已影响2人  IT派森

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()

Python资源分享秋秋裙 784758214 ,内有安装包,学习视频资料,这里是Python学习者的聚集地,零基础,进阶,都欢迎
上一篇 下一篇

猜你喜欢

热点阅读