zoukankan      html  css  js  c++  java
  • python-链表操作

    '''
    链表(linked list)是由一组被称为结点的数据元素组成的数据结构,每个结点都包含结点本身的信息和指向下一个结点的地址。
    由于每个结点都包含了可以链接起来的地址信息,所以用一个变量就能够访问整个结点序列。
    也就是说,结点包含两部分信息:一部分用于存储数据元素的值,称为信息域;另一部分用于存储下一个数据元素地址的指针,称为指针域。链表中的第一个结点的地址存储在一个单独的结点中,称为头结点或首结点。链表中的最后一个结点没有后继元素,其指针域为空。
    ''' class Node(): '创建节点' def __init__(self, data): self.data = data self.next = None class LinkList(): '创建列表' def __init__(self, node): '初始化列表' self.head = node #链表的头部 self.head.next = None self.tail = self.head #记录链表的尾部 def add_node(self, node): '添加节点' self.tail.next = node self.tail = self.tail.next def view(self): '查看列表' node = self.head link_str = '' while node is not None: if node.next is not None: link_str += str(node.data) + '-->' else: link_str += str(node.data) node = node.next print('The Linklist is:' + link_str) def length(self): '列表长度' node = self.head count = 1 while node.next is not None: count += 1 node = node.next print('The length of linklist are %d' % count) return count def delete_node(self, index): '删除节点' if index + 1 > self.length(): raise IndexError('index out of bounds') num = 0 node = self.head while True: if num == index - 1: break node = node.next num += 1 tmp_node = node.next node.next = node.next.next return tmp_node.data def find_node(self, index): '查看具体节点' if index + 1 > self.length(): raise IndexError('index out of bounds') num = 0 node = self.head while True: if num == index: break node = node.next num += 1 return node.data node1 = Node(3301) node2 = Node(330104) node3 = Node(330104005) node4 = Node(330104005052) node5 = Node(330104005052001) linklist = LinkList(node1) linklist.add_node(node2) linklist.add_node(node3) linklist.add_node(node4) linklist.add_node(node5) linklist.view() linklist.length()
  • 相关阅读:
    java io 学习笔记(一)
    Centos中查看系统信息的常用命令
    arcgis影像批量裁剪代码
    VS2010中VC++目录和C/C++之间的区别。VC++ Directories和C/C++的区别。
    VS中为什么不同的项目类型属性查看和设置的界面不一样
    C++函数中返回引用和返回值的区别
    java中HashMap的keySet()和values()
    repoquery详解——linux查看包依赖关系的神器
    linux学习笔记
    log4j的AppenderLayout格式符
  • 原文地址:https://www.cnblogs.com/shuzf/p/13786856.html
Copyright © 2011-2022 走看看