在链表中插入一个元素,需要考虑插入位置和插入方式。

  1. 插入位置:

插入位置可以分为两种情况:

  • 在链表头部插入元素
  • 在链表尾部插入元素
  1. 插入方式:

插入方式可以分为两种情况:

  • 直接插入
  • 排序插入

下面以Python语言为例,实现在链表头部插入元素和排序插入元素的代码:

# 定义链表节点类
class ListNode:
    def __init__(self, val=0, next=None):
        self.val = val
        self.next = next

# 在链表头部插入元素
def insert_at_head(head: ListNode, val: int) -> ListNode:
    new_node = ListNode(val)
    new_node.next = head
    return new_node

# 排序插入元素
def insert_sorted(head: ListNode, val: int) -> ListNode:
    new_node = ListNode(val)
    if not head or val < head.val:
        new_node.next = head
        return new_node
    curr = head
    while curr.next and curr.next.val < val:
        curr = curr.next
    new_node.next = curr.next
    curr.next = new_node
    return head

在上面的代码中,我们定义了一个链表节点类ListNode,包含节点值val和下一个节点的指针next

insert_at_head函数中,我们创建一个新节点new_node,将它的next指向当前链表的头节点head,并返回新的头节点new_node

insert_sorted函数中,我们创建一个新节点new_node,如果链表为空或者插入值小于头节点的值,就直接将新节点插入到头部,返回新的头节点new_node。否则,遍历链表,找到插入位置,插入新节点,返回头节点head

在一个链表中插入一个元素

原文地址: http://www.cveoy.top/t/topic/eCFu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录