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

大家在学python的时候肯定会遇到很多难题,以及对于新技术的追求,这里推荐一下我们的Python学习扣qun:784758214,这里是python学习者聚集地!!同时,自己是一名高级python开发工程师,从基础的python脚本到web开发、爬虫、django、数据挖掘等,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!每日分享一些学习的方法和需要注意的小细节

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69913713/viewspace-2648939/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/69913713/viewspace-2648939/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值