挿入:メソッド insert(補足)

《関連記事》

class myList(object):
    ...
    def insert(self, index, item):
        prev, node = self.head, self.head.next
        n = 0
        while node:
            if n==index:
                prev.next = Node(item, prev.next)    # (1)
                break
            prev, node = node, node.next
            n += 1
        else:
            prev.next = Node(item, prev.next)        # (2)

指標(オフセット値)index を使って、連結リストに要素 item を挿入する様子を、図解とともに解説します。


>>> s = myList("AB"); s
['A', 'B']
>>> s.insert(0,"C"); s
['C', 'A', 'B']

オフセット値 0 を指定すると、新たな要素 'C' は先頭に挿入されます。


>>> s = myList("AB"); s
['A', 'B']
>>> s.insert(3,"C"); s
['A', 'B', 'C']

(範囲外の)オフセット値 3 を指定すると、新たな要素 'C' は末尾に挿入されます。