Python single-chain table simple implementation code, python Single-Chain Code

Source: Internet
Author: User

Python single-chain table simple implementation code, python Single-Chain Code

This example describes the simple implementation code of a Python single-chain table. We will share this with you for your reference. The details are as follows:

It is relatively simple to use Python to simulate a single-chain table. For Beginners, refer

#coding:utf-8class Node(object):  def __init__(self, data):    self.data = data    self.next = Noneclass NodeList(object):  def __init__(self, node):    self.head = node    self.head.next = None    self.end = self.head  def add_node(self, node):    self.end.next = node    self.end = self.end.next  def length(self):    node = self.head    count = 1    while node.next is not None:      count += 1      node = node.next    return count  # delete node and return it's value  def delete_node(self, index):    if index+1 > self.length():      raise IndexError('index out of bounds')    i = 0    node = self.head    while True:      if i==index-1:        break      node = node.next      i += 1    tmp_node = node.next    node.next = node.next.next    return tmp_node.data  def show(self):    node = self.head    node_str = ''    while node is not None:      if node.next is not None:        node_str += str(node.data) + '->'      else:        node_str += str(node.data)      node = node.next    print node_str  # Modify the original position value and return the old value  def change(self, index, data):    if index+1 > self.length():      raise IndexError('index out of bounds')    i = 0    node = self.head    while True:      if i == index:        break      node = node.next      i += 1    tmp_data = node.data    node.data = data    return tmp_data  # To find the location of index value  def find(self, index):    if index+1 > self.length():      raise IndexError('index out of bounds')    i = 0    node = self.head    while True:      if i == index:        break      node = node.next      i += 1    return node.data#test casen1 = Node(0)n2 = Node(1)n3 = Node(2)n4 = Node(3)n5 = Node(4)node_list = NodeList(n1)node_list.add_node(n2)node_list.add_node(n3)node_list.add_node(n4)node_list.add_node(n5)#node = node_list.delete_node(3)#print node#d = node_list.change(0,88)data = node_list.find(5)print datanode_list.show()

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.