【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资源分享扣扣群:855408893 ,与你分享Python企业当下人才需求,怎么学Python,和学习什么内容!

原文地址:https://blog.51cto.com/14429370/2417279

时间: 2024-10-07 00:27:08

【Python】python链表应用源码示例的相关文章

利用python广西快乐十分源码出租爬取网易云歌手top50歌曲歌词

python广西快乐十分源码出租 dsluntan.com Q:3393756370 VX:17061863513近年来,发展迅速,成为了最炙手可热的语言. 那么如何来进行网易云歌手top50的歌曲歌词爬取呢 首先进行网易云并进行喜欢的歌手搜索如下: 在这里需要注意的是http://music.163.com/#/artist?id=1007170并不是真的我们需要的连接,真实的链接应该是http://music.163.com/artist?id=1007170 搞清楚了连接的问题之后,就要进

安卓图表引擎AChartEngine(四) - 源码示例 嵌入Acitivity中的折线图

前面几篇博客中都是调用ChartFactory.get***Intent()方法,本节讲的内容调用ChartFactory.get***View()方法,这个方法调用的结果可以嵌入到任何一个Activity中,作为Activity的一部分. XYChartBuilder.java(源码分析见注释) [java] view plaincopy package org.achartengine.chartdemo.demo.chart; import java.io.File; import jav

单向链表实现源码

单向链表实现源码public class LinkList<T>{//定义一个内部类Node,Node实例代表链表的节点private class Node{//保存节点的数据private T data;//指向下个节点的引用private Node next;//无参数的构造器public Node(){}//初始化全部属性的构造器public Node(T data , Node next){this.data = data;this.next = next;}}//保存该链表的头节点p

HTTP/HTTPS客户端源码示例

HTTP/HTTPS客户端源码示例 环境:  zlib-1.2.8  openssl-1.0.1g  curl-7.36 Author:  Kagula LastUpdateDate: 2014-04 阅读前提:CMake工具的基本使用.配置openssl-1.0.1g 开发环境 编译zlib库 下载zlib-1.2.8.tar.gz并解压缩到" D:\SDK\zlib-1.2.8",使用CMake工具生成zlib.sln,在Visual Studio2013中打开并编译即可. 编译c

Android集成微信分享的要点及源码示例

如今,社会化分享成了App必不可少的一个功能,而其中最重要的莫过于微信分享,由于微信庞大的用户群及活跃度,因此我们的App往往都需要集成微信分享,微信开放平台也提供了相应的分享SDK.鉴于看到很多人说调不起微信分享,下面就来分享下自己的经验以及在集成微信分享过程中需要注意的地方,最终会提供自己封装好的微信分享源码示例. 其实集成的步骤在微信开放平台的文档指南中已经写的很清楚了: 1.申请AppID.这一步需要在微信开放平台注册你的App就可以了,注意的是需要使用正式的keystore签名你的Ap

Python使用正则表达式替换源码前序号

从博客园或其它地方拷贝代码,经常前面有代码序号,像下面这个样子: 1 wbContent.Navigate(vURL); 2  3     Result:=GetHtml(wbContent); 4  5     while not ContainsText(Result,'共找到') do 6     begin 7       Sleep(100); 8       Application.ProcessMessages; 9       Result:=GetHtml(wbContent)

python语言磁力搜索引擎源码公开,基于DHT协议,十二分有技术含量的技术博客

之前我在写百度网盘爬虫,百度图片爬虫的时候答应网友说,抽时间要把ok搜搜的的源码公开,如今是时候兑现诺言了,下面就是爬虫的所有代码,完全,彻底的公开,你会不会写程序都可以使用,不过请先装个linux系统,具备公网条件,然后运行: python startCrawler.py 有必要提醒你,数据库字段代码中都有,请你自己建张表格,这个太简单了,就不多说了.同时我也提供一下下载地址,源码都在:下载地址1 下载地址2 代码如下: #!/usr/bin/env python # encoding: ut

python语言磁力搜索引擎源码公开,基于DHT协议

之前我在写百度网盘爬虫,百度图片爬虫的时候答应网友说,抽时间要把ok搜搜的的源码公开,如今是时候兑现诺言了,下面就是爬虫的所有代码,完全,彻底的公开,你会不会写程序都可以使用,不过请先装个linux系统,具备公网条件,然后运行: python startCrawler.py 有必要提醒你,数据库字段代码中都有,请你自己建张表格,这个太简单了,就不多说了.同时我也提供一下下载地址,源码都在:下载地址1 下载地址2 #!/usr/bin/env python # encoding: utf-8 "&

Python框架之Tornado (源码之褪去模板外衣)

上一篇介绍了客户端请求在tornado框架中的生命周期,其本质就是利用epoll和socket来获取并处理请求.在上一篇的内容中,我们只是给客户端返回了简单的字符串,如:“Hello World”,而在实际开发中,需要使用html文件的内容作为模板,然后将被处理后的数据(计算或数据库中的数据)嵌套在模板中,然后将嵌套了数据的html文件的内容返回给请求者客户端,本篇就来详细的剖析模板处理的整个过程. 概述 上图是返回给用户一个html文件的整个流程,较之前的Demo多了绿色流线的步骤,其实就是把