摘要:
单向循环链表的操作 remove(item) 删除元素 思路:1、当链表为空,直接返回即可 2、设置两个指针,一个指向当前节点,另一个指向前一个节点; 3、循环遍历,循环条件:cur.next != self.__head 4、进入循环,判断cur.item是否大于item 这时候分情况考虑,如果第 阅读全文
摘要:
单向循环链表的操作 search(item) 查找元素在不在链表当中 思路:1、当链表为空,直接返回False 2、循环遍历查找,循环条件:cur.next != self.__head 在循环里面进行判断 cur.item == item 3、当cur.next = self.__head的时候, 阅读全文
摘要:
单向循环链表的操作 add(item)在头部添加元素 思路:1、先将新节点添加到头部,让node.next=self.__head 以及让self.__head=node 2、进行遍历,循环条件: 最后一个节点现在指向第二个节点,即cur.next = node.next;找到最后一个节点之后,将c 阅读全文
摘要:
单向循环链表的操作 travel() 遍历链表中所有元素 思路:跟之前的单链表一样,循环输出即可;要注意的是最后一个节点时,此时cur.next指向头节点,而没有进入循环,而cur指向该节点,跳出循环后,单独把最后一个节点的元素打印出来就可以了(当链表中只有一个元素,也可以处理) 注意:同时也要考虑 阅读全文
摘要:
单向循环链表的操作 length()返回链表的长度 思路:当头节点为空的时候,直接返回0 其它情况下,先确定循环条件,之前单链表的cur != None这一条件不适用于此,因为最后一个节点会指向头节点,即此时是cur.next==self.__head 而cur==self.__head同样不可取, 阅读全文