创建一个有6个结点的单向链表,实现增加、删除、查找、移动、显示结点的基本功能
时间: 2024-01-30 07:01:33 浏览: 18
好的,以下是实现增加、删除、查找、移动、显示节点的基本功能的伪代码:
定义单向链表节点的结构体:
struct ListNode {
int val; // 节点的值
ListNode *next; // 指向下一个节点的指针
};
创建一个有6个结点的单向链表:
ListNode *head, *tail;
head = tail = new ListNode;
for (int i = 1; i <= 6; i++) {
tail->next = new ListNode;
tail = tail->next;
tail->val = i;
}
tail->next = NULL;
增加节点:
ListNode *p = new ListNode;
p->val = val;
p->next = NULL;
tail->next = p;
tail = p;
删除节点:
ListNode *p = head->next, *pre = head;
while (p) {
if (p->val == val) {
pre->next = p->next;
delete p;
break;
}
pre = p;
p = p->next;
}
查找节点:
ListNode *p = head->next;
while (p) {
if (p->val == val) {
// 找到了节点
break;
}
p = p->next;
}
移动节点:
ListNode *p = head->next, *pre = head;
while (p) {
if (p->val == val) {
pre->next = p->next;
tail->next = p;
p->next = NULL;
tail = p;
break;
}
pre = p;
p = p->next;
}
显示节点:
ListNode *p = head->next;
while (p) {
cout << p->val << " ";
p = p->next;
}