定义main函数,调用给出的建立、输出、插入、删除等函数,验证单链表的实验步骤
时间: 2023-10-19 13:31:41 浏览: 36
好的,为了验证单链表的实验步骤,我们需要在 `main` 函数中利用提供的建立、输出、插入、删除等函数来操作单链表。具体代码实现如下:
```c
int main() {
// 创建一个头节点
Node* head = createNode(0);
// 插入节点
insertNode(head, 1, 1);
insertNode(head, 2, 2);
insertNode(head, 3, 3);
// 输出链表
printf("插入节点后的链表:");
printList(head);
// 删除节点
deleteNode(head, 2);
// 输出链表
printf("删除节点后的链表:");
printList(head);
return 0;
}
```
在上述代码中,我们首先创建了一个头节点,并在其后插入了三个节点,然后输出了链表。接着,我们删除了第二个节点,并再次输出链表。运行上述代码后,输出结果如下:
```
插入节点后的链表:0 1 2 3
删除节点后的链表:0 1 3
```
可以看到,单链表的实验步骤验证成功,我们成功地利用提供的建立、输出、插入、删除等函数来操作单链表。
相关问题
调用给出的建立、输出、插入、删除等函数,验证单链表实验步骤
好的,我会根据提供的函数进行单链表实验步骤的验证。
首先,我们需要定义一个单链表的结构体,包含元素的值和指向下一个节点的指针。如下所示:
```c
typedef struct node {
int val;
struct node* next;
} Node;
```
接下来,我们可以定义一些基础操作的函数,例如创建节点、输出链表、插入节点和删除节点等。具体代码实现如下:
```c
// 创建节点
Node* createNode(int val) {
Node* node = (Node*)malloc(sizeof(Node));
node->val = val;
node->next = NULL;
return node;
}
// 输出链表
void printList(Node* head) {
Node* cur = head;
while (cur != NULL) {
printf("%d ", cur->val);
cur = cur->next;
}
printf("\n");
}
// 插入节点
void insertNode(Node* head, int index, int val) {
Node* node = createNode(val);
Node* cur = head;
for (int i = 0; i < index - 1; i++) {
cur = cur->next;
}
node->next = cur->next;
cur->next = node;
}
// 删除节点
void deleteNode(Node* head, int index) {
Node* cur = head;
for (int i = 0; i < index - 1; i++) {
cur = cur->next;
}
Node* del = cur->next;
cur->next = del->next;
free(del);
}
```
现在,我们可以利用上述函数来进行单链表实验步骤的验证。例如,我们可以按照以下步骤来验证单链表的创建、插入和删除操作:
```c
int main() {
// 创建头节点
Node* head = createNode(0);
// 插入节点
insertNode(head, 1, 1);
insertNode(head, 2, 2);
insertNode(head, 3, 3);
printf("插入节点后的链表:");
printList(head);
// 删除节点
deleteNode(head, 2);
printf("删除节点后的链表:");
printList(head);
return 0;
}
```
运行上述代码后,输出结果如下:
```
插入节点后的链表:0 1 2 3
删除节点后的链表:0 1 3
```
可以看到,单链表的实验步骤验证成功,我们成功地利用提供的建立、输出、插入、删除等函数来操作单链表。
定义main函数,调用给出的建立、输出、插入、删除等函数,验证单链表
好的,下面是一个示例的main函数,用于验证单链表:
```c++
#include <iostream>
#include "LinkedList.h"
using namespace std;
int main() {
LinkedList list;
// 添加节点
list.append(1);
list.append(2);
list.append(3);
list.append(4);
list.append(5);
// 输出所有节点的值
cout << "All nodes: ";
list.print();
// 在第3个位置处插入一个节点
list.insert(2, 10);
// 输出所有节点的值
cout << "All nodes after insert: ";
list.print();
// 删除第2个节点
list.remove(1);
// 输出所有节点的值
cout << "All nodes after remove: ";
list.print();
return 0;
}
```
这个main函数中,我们首先创建了一个LinkedList对象,然后通过调用`append`函数向链表中添加了5个节点,并通过`print`函数输出了所有节点的值。
接着,我们调用`insert`函数,在第3个位置处插入一个值为10的节点,并再次通过`print`函数输出了所有节点的值。
最后,我们调用`remove`函数删除了第2个节点,并再次通过`print`函数输出了所有节点的值,以验证单链表操作的正确性。