Linklist l1; CreateList_H(l1,5); printf("%d",listLength(l1)); PrintList(l1);
时间: 2024-05-13 20:15:55 浏览: 65
List示例-java各种集合的详解Set,List,Vector
这段代码的功能是创建一个带有5个节点的单向链表,并输出链表的长度和内容。
假设你已经定义了单向链表的结构体和相关函数,代码大概如下:
```c
// 定义单向链表的结构体
typedef struct ListNode {
int val;
struct ListNode *next;
} ListNode, *Linklist;
// 头插法创建单向链表
void CreateList_H(Linklist &L, int n) {
L = (Linklist)malloc(sizeof(ListNode));
L->next = NULL;
for (int i = 0; i < n; i++) {
ListNode *p = (ListNode*)malloc(sizeof(ListNode));
scanf("%d", &p->val);
p->next = L->next;
L->next = p;
}
}
// 计算单向链表的长度
int listLength(Linklist L) {
int len = 0;
ListNode *p = L->next;
while (p != NULL) {
len++;
p = p->next;
}
return len;
}
// 遍历并打印单向链表的内容
void PrintList(Linklist L) {
ListNode *p = L->next;
while (p != NULL) {
printf("%d ", p->val);
p = p->next;
}
printf("\n");
}
```
然后你的代码就可以这样写:
```c
Linklist l1;
CreateList_H(l1, 5);
printf("%d\n", listLength(l1));
PrintList(l1);
```
假设你输入了 1 2 3 4 5,那么输出结果应该是:
```
5
5 4 3 2 1
```
阅读全文