• 有序列表 无序列表


    节点类

     1 # python
     2 # -*- coding: utf-8 -*-
     3 """
     4 __title__ = ''
     5 __author__ = 'wlc'
     6 __mtime__ = '2017/10/13'
     7 """
     8 class Node:
     9     def __init__(self, initData):
    10         self.data = initData
    11         self.next = None
    12     #getData
    13     def getData(self):
    14         return self.data
    15     #getNext
    16     def getNext(self):
    17         return self.next
    18     #setData
    19     def setData(self, data):
    20         self.data = data
    21     #setNext
    22     def setNext(self, nextNode):
    23         self.next = nextNode

    无序列表

     1 # python
     2 # -*- coding: utf-8 -*-
     3 """
     4 __title__ = ''
     5 __author__ = 'wlc'
     6 __mtime__ = '2017/10/13'
     7 """
     8 from dataStructure.dS import pythonLinkedListNode
     9 
    10 class UnorderedList:
    11     def __init__(self):
    12         self.head = None
    13     #isEmpty
    14     def isEmpty(self):
    15         return self.head == None
    16     #add
    17     def add(self, item):
    18         lnode = pythonLinkedListNode.Node(item)
    19         lnode.setNext(self.head)
    20         self.head = lnode
    21     #size
    22     def size(self):
    23         current = self.head
    24         count = 0
    25         while current != None:
    26             count = count + 1
    27             current = current.getNext()
    28         return count
    29     #serch
    30     def search(self, item):
    31         current = self.head
    32         flag = False
    33         while current != None and (not flag):
    34             if current.getData() == item:
    35                 flag = True
    36             else:
    37                 current.getNext()
    38         return flag
    39     #remove
    40     def remove(self, item):
    41         #链表删除元素由于链表不可以回退 因此需要设置两个指针一个当前位置一个上一个位置
    42         previous = None
    43         current = self.head
    44         found = False
    45         while not found:
    46             if current.getData() == item:
    47                 found = True
    48             else:
    49                 previous = current
    50                 current = current.getNext()
    51         #precious如果没有变化就说明头结点的数据就会说要删除的元素
    52         if previous == None:
    53             self.head = current.getNext()
    54         else:
    55             previous.setNext(current.getNext())

    有序列表

     1 # python
     2 # -*- coding: utf-8 -*-
     3 """
     4 __title__ = ''
     5 __author__ = 'wlc'
     6 __mtime__ = '2017/10/13'
     7 """
     8 from dataStructure.dS import pythonLinkedListNode
     9 
    10 
    11 class orderedList:
    12     def __init__(self):
    13         self.head = None
    14 
    15     # isEmpty
    16     def isEmpty(self):
    17         return self.head == None
    18 
    19     # size
    20     def size(self):
    21         current = self.head
    22         count = 0
    23         while current != None:
    24             count = count + 1
    25             current = current.getNext()
    26         return count
    27     #search
    28     def search(self, item):
    29         current = self.head
    30         found = False
    31         stop = False
    32         while current != None and not found and not stop:
    33             if current.getData() == item:
    34                 found = True
    35             else:
    36                 if current.getData() > item:
    37                     stop = True
    38                 else:
    39                     current = current.getNext()
    40         return found
    41     #add
    42     def add(self, item):
    43         current = self.head
    44         previous = None
    45         stop = False
    46         while current != None and not stop:
    47             if current.getData() > item:
    48                 stop = True
    49             else:
    50                 previous = current
    51                 current = current.getNext()
    52         temp = pythonLinkedListNode.Node(item)
    53         if previous == None:
    54             temp.setNext(self.head)
    55             self.head = temp
    56         else:
    57             temp.setNext(current)
    58             previous.setNext(temp)
  • 相关阅读:
    每日编程-20170322
    每日编程-20170321
    C++primer拾遗(第七章:类)
    每日编程-20170320
    uniApp之 顶部选项卡
    vue 服务端渲染 vs 预渲染(1)
    uni-app学习笔记
    如何解决vue跨域的问题
    简单整理数组的用法
    vue-cli
  • 原文地址:https://www.cnblogs.com/wlc297984368/p/7662668.html
Copyright © 2020-2023  润新知