目录
单链表插入
InsertNode(LinkedList, position, data):
- 创建一个新节点NewNode,设置其数据为data
- 如果position为0:
a. 将NewNode的next指向当前链表的头节点
b. 将当前链表的头节点指向NewNode
否则:
a. 找到位置为position-1的节点,记为prevNode
b. 将NewNode的next指向prevNode的next节点
c. 将prevNode的next指向NewNode
单链表删除
DeleteNode(LinkedList, position):
- 如果链表为空:
a. 返回错误,链表为空 - 如果position为0:
a. 将链表的头节点指向头节点的下一个节点
否则:
a. 找到位置为position-1的节点,记为prevNode
b. 如果prevNode为NULL或者prevNode的next为NULL:
i. 返回错误,无法删除节点
c. 将要删除的节点记为toBeDeleted,即prevNode的下一个节点
d. 将prevNode的next指向toBeDeleted的下一个节点
C语言
在AI的帮助下完成的
照片见附件