单链表的基本操作c++
时间: 2023-05-19 20:02:01 浏览: 46
单链表的基本操作包括:创建链表、插入节点、删除节点、查找节点、遍历链表等。下面是一个简单的单链表的基本操作示例代码:
typedef struct Node {
int data;
struct Node *next;
} Node;
// 创建链表
Node *createList() {
Node *head = (Node *)malloc(sizeof(Node));
head->next = NULL;
return head;
}
// 插入节点
void insertNode(Node *head, int data) {
Node *newNode = (Node *)malloc(sizeof(Node));
newNode->data = data;
newNode->next = head->next;
head->next = newNode;
}
// 删除节点
void deleteNode(Node *head, int data) {
Node *p = head->next;
Node *pre = head;
while (p != NULL) {
if (p->data == data) {
pre->next = p->next;
free(p);
break;
}
pre = p;
p = p->next;
}
}
// 查找节点
Node *findNode(Node *head, int data) {
Node *p = head->next;
while (p != NULL) {
if (p->data == data) {
return p;
}
p = p->next;
}
return NULL;
}
// 遍历链表
void traverseList(Node *head) {
Node *p = head->next;
while (p != NULL) {
printf("%d ", p->data);
p = p->next;
}
printf("\n");
}
// 示例代码结束
请注意,以上代码仅供参考,实际使用时需要根据具体情况进行修改和完善。