针对上面代码 设计一个测试主函数验证所设计单循环链表的正确性。
时间: 2024-10-09 14:01:30 浏览: 20
cpp代码-C/C++ 通用链表代码测试
为了验证上面代码中单循环链表的正确性,可以创建一个测试主函数,包括以下几个部分:
1. **初始化链表**:首先,使用 `createList()` 函数创建一个空的单循环链表。
2. **添加元素**:插入几个不同的值到链表中,并确保每个值都能成功添加。
3. **验证长度**:使用 `getLength()` 函数检查插入元素后的链表长度是否正确。
4. **遍历并打印链表**:通过调用 `printList()` 函数检查链表的内容是否按预期顺序排列。
5. **删除元素**:从链表中删除某个已知值,然后再次验证链表长度以及删除位置。
6. **查找元素**:尝试查找链表中是否存在特定值,如果没有,则确认 `deleteElement()` 正确地移除了该值。
7. **再次遍历**:删除元素后,再次遍历链表以确认它已经按照预期更新。
8. **删除非存在的元素**:尝试删除不存在的元素,以验证错误处理。
以下是完整的测试主函数示例:
```c
int main() {
// 初始化链表
Node* head = createList();
// 添加元素并验证
insert(1, &head);
insert(2, &head);
insert(3, &head);
printf("Initial length: %d\n", getLength(head)); // 预期输出:3
// 打印链表
printList(head); // 预期输出:1 2 3
// 删除元素并验证
deleteElement(&head, 2);
printf("After deleting 2: ");
printList(head); // 预期输出:1 3
// 查找元素存在性和删除结果
if (getData(head) == 3) {
printf("Found and deleted 3 successfully.\n");
} else {
printf("Failed to find or delete 3.\n");
}
// 删除不存在的元素
deleteElement(&head, 4); // 预期输出:"Value not found in the list."
// 再次打印链表
printList(head); // 验证是否只包含1
return 0;
}
```
这个测试主函数将帮助您确认链表的所有基本操作是否按预期工作。如果所有输出都符合预期,那么代码就是正确的。如果出现任何不符,您可以检查代码或调整测试用例来找出问题所在。
阅读全文