您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“python鏈表如何實現左移和右移”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“python鏈表如何實現左移和右移”這篇文章吧。
1、對于鏈表調用rotate(n)方法來重載左移、右移(相應的內置方法__lshift__和__rshift__)。
def __lshift__(self, n): return self.rotate(n) def __rshift__(self, n): return self.rotate(-n)
2、涉及到該操作的鏈表并沒有改變,要更改該值的使用>>=或<=進行賦值。
也可以直接向代碼中添加覆蓋原鏈表的代碼。
def __lshift__(self, n): ret = self.rotate(n) self.val,self.next = ret.val,ret.next return ret def __rshift__(self, n): ret = self.rotate(-n) self.val,self.next = ret.val,ret.next return ret ''' >>> node = Node.build(1,2,3,4,5) >>> node Node(1->2->3->4->5->None) >>> node >> 1 Node(5->1->2->3->4->None) >>> node >> 2 Node(3->4->5->1->2->None) >>> node >> 3 Node(5->1->2->3->4->None) >>> node Node(5->1->2->3->4->None) >>> node << 6 Node(1->2->3->4->5->None) >>> node << 1 Node(2->3->4->5->1->None) >>> node << 1 Node(3->4->5->1->2->None) >>> node >> 2 Node(1->2->3->4->5->None) >>> node Node(1->2->3->4->5->None) >>> '''
以上是“python鏈表如何實現左移和右移”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。