线性表只有删除第一个元素和在最后一个元素后面插入新元素操作,为什么不适合使用单头指针循环单链表?
使用只有表头指针没有表尾指针的循环单链表不好的原因如下:
-
删除最后一个元素的操作比较麻烦:由于只有表头指针,要删除最后一个元素需要遍历整个链表找到倒数第二个节点,然后将其'next'指针置空。这需要遍历整个链表,效率较低。
-
插入新元素的操作比较麻烦:由于只有表头指针,要在最后一个元素的后面插入新元素,需要遍历整个链表找到最后一个节点,然后创建新节点并将其插入到最后一个节点的后面。这同样需要遍历整个链表,效率较低。
-
难以实现其他常用操作:比如获取链表长度、查找指定位置的元素等操作都需要遍历整个链表,效率较低。
-
不方便使用循环操作:由于只有表头指针,无法直接找到表尾节点,所以在使用循环操作的时候会比较麻烦,需要额外的操作来处理循环。
综上所述,使用只有表头指针没有表尾指针的循环单链表会导致删除和插入操作的效率较低,同时也不方便实现其他常用操作,不利于使用循环操作。因此,对于只有删除和插入两种操作的线性表,最好使用只有表尾指针没有表头指针的循环单链表。
原文地址: http://www.cveoy.top/t/topic/bcHm 著作权归作者所有。请勿转载和采集!