使用只有表尾指针没有表头指针:
循环单链表指的是最后节点的指针域指向表头节点,如果要删除第一个元素,只需要通过表尾指针找到第二个节点,然后将最后节点的指针指向第二个节点,就将第一个元素删除了;
单链表指的是最后节点的指针域指向表头节点,如果要删除第一个元素,只需要通过表尾指针找到第二个节点,然后将最后节点的指针指向第二个节点,就将第一个元素删除了;
在最后一个元素后面插入新元素时,先找到表头,然后将新元素的指针域指向表头,然后再将表尾指向新元素就好了,算法的复杂度为O(1)。
新元素时,先找到表头,然后将新元素的指针域指向表头,然后再将表尾指向新元素就好了,算法的复杂度为O(1)。
使用只有表头指针没有表尾指针:
循环单链表指的是最后节点的指针域指向表头节点,如果要删除最后一个元素,必须遍历整个链表才能找到表尾,进行新元素的插入、再插入时的算法复杂度为O(n)。
单链表指的是最后节点的指针域指向表头节点,如果要删除最后一个元素,必须遍历整个链表才能找到表尾,进行新元素的插入、再插入时的算法复杂度为O(n)。
不想当项目经理的程序员不是好程序员。微信搜【PM伟少】,关注后回复【软考】,有我准备的一份软考备考资料一份。