测试这个代码
时间: 2023-07-09 17:17:36 浏览: 67
这段代码只是定义了数据结构和一个函数,没有进行具体的调用和测试,因此需要编写一个测试程序来验证该函数的正确性。以下是一个简单的测试程序:
```c
#include <stdio.h>
#define maxsize 1000
typedef int datatype;
typedef struct {
datatype data[maxsize];
int len;
} seqlist;
typedef int datatype;
typedef struct node {
datatype data;
struct node *next;
} linknode;
typedef linknode *linklist;
linklist linkSearch(linklist head, datatype key) {
linklist p = head->next;
while (p && p->data != key)
p = p->next;
return p;
}
int main() {
seqlist a = {{1, 2, 3, 4, 5}, 5};
linknode n1 = {1, NULL}, n2 = {2, NULL}, n3 = {3, NULL}, n4 = {4, NULL}, n5 = {5, NULL};
linklist head = &n1;
n1.next = &n2;
n2.next = &n3;
n3.next = &n4;
n4.next = &n5;
linklist p = linkSearch(head, 3);
if (p)
printf("Found %d in list.\n", p->data);
else
printf("Can't find data in list.\n");
return 0;
}
```
该测试程序首先定义了一个顺序表 `a` 和一个带头结点的单链表 `head`,然后调用 `linkSearch` 函数,在链表中查找关键字为 3 的数据。如果查找成功,则输出 "Found 3 in list.",否则输出 "Can't find data in list."。
运行该测试程序,输出结果为 "Found 3 in list.",说明该函数能够正确地查找链表中的数据。
阅读全文