zoukankan      html  css  js  c++  java
  • python 实现链表的逆置

    class Node():
        def __init__(self,value,next):
            self.value = value
            self.next = next
    
    
    class Link():
        def __init__(self,head):
            self.link_create(head)
    
        def link_create(self,head):
            self.head = Node(head,None)
            self.tail = self.head
    
        def link_insert(self,value):
            temp_node = Node(value,None)
            self.tail.next = temp_node
            self.tail = temp_node
    
      #通俗的中心思想:断开后继指针,当前节点指向前驱节点
        def link_reverse(self):
            temp_pre = self.head    #前驱指针
            temp = self.head.next    #当前指针
            temp_next = temp.next  #后继指针
            temp_pre.next = None
    
            while temp_next != None:
                #逆指向
                temp.next = temp_pre
                #三个指针分别向后挪一位
                temp_pre = temp
                temp = temp_next
                temp_next = temp.next
    #别忘了连上最后一个节点,将头指针指向最后一个节点 temp.next = temp_pre self.head = temp def link_print(self): temp_node = self.head while temp_node != None: print temp_node.value temp_node = temp_node.next head = Link("1") for i in range(2,8): head.link_insert(i) head.link_print() head.link_reverse() head.link_print()

    效果图:

  • 相关阅读:
    struts2简介
    项目整合SpringDataRedis
    SpringDataRedis入门Demo
    包管理-rpm
    文件查找与压缩
    N042第一周
    Shell
    Linux下终端字体颜色设置方法
    文本处理工具作业
    正则表达式
  • 原文地址:https://www.cnblogs.com/chunqiu666/p/12849215.html
Copyright © 2011-2022 走看看