【Python】python連結串列應用原始碼示例

程式設計師啟航發表於2019-06-27

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的時候肯定會遇到很多難題,以及對於新技術的追求,這裡推薦一下我們的Python學習扣qun:784758214,這裡是python學習者聚集地!!同時,自己是一名高階python開發工程師,從基礎的python指令碼到web開發、爬蟲、django、資料探勘等,零基礎到專案實戰的資料都有整理。送給每一位python的小夥伴!每日分享一些學習的方法和需要注意的小細節

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913713/viewspace-2648939/,如需轉載,請註明出處,否則將追究法律責任。

相關文章