python链表及常见操作

本文阅读 1 分钟
首页 Python笔记 正文
  1. class Node:
  2. def __init__(self, initdata):
  3. self.data = initdata
  4. self.next = None
  5. def getData(self):
  6. return self.data
  7. def getNext(self):
  8. return self.next
  9. def setData(self, newdata):
  10. self.next = newdata
  11. def setNext(self, nextNode):
  12. self.next = nextNode
  13. temp = Node(93)
  14. temp.setData(10)
  15. print(temp.getNext())
  16. # 定义一个无序链表
  17. class UnorderedList:
  18. def __init__(self):
  19. self.head = None
  20. def isEmpty(self):
  21. return self.head == None
  22. def add(self, item):
  23. temp = Node(item)
  24. temp.setNext(self.head)
  25. self.head = temp
  26. def size(self):
  27. current = self.head
  28. count = 0
  29. while current != None:
  30. count += 1
  31. current = current.getNext()
  32. return count
  33. def search(self, item):
  34. current = self.head
  35. found = False
  36. while current != None and not found:
  37. if current.getData() == item:
  38. found = True
  39. else:
  40. current = current.getNext()
  41. return found
  42. def remove(self, item):
  43. current = self.head
  44. previous = None
  45. found = False
  46. while not found:
  47. if current.getData() == item:
  48. found = True
  49. else:
  50. previous = current
  51. current = current.getNext()
  52. if previous == None:
  53. self.head = current.getNext()
  54. else:
  55. previous.setNext(current.getNext())
  56. myList = UnorderedList()
  57. myList.add(31)
  58. myList.add(77)
  59. myList.add(17)
  60. myList.add(93)
  61. myList.add(26)
  62. myList.add(54)
  63. print(myList.search(17))
  64. myList.remove(54)
  65. print(myList.search(54))
解压密码: detechn或detechn.com

免责声明

本站所有资源出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。

本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户自行鉴别,做一个有主见和判断力的用户。

本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。

有效的算法设计
« 上一篇 01-21
python平衡查找树AVL
下一篇 » 01-21

发表评论