定义一个单链表的储存结构然后用C语言编写一个算法单链表不带头结点统计单链表中值为X的结点个数
时间: 2024-05-10 14:15:18 浏览: 123
数据结构中单链表的程序
单链表的储存结构可以定义如下:
```c
typedef struct ListNode {
int data;
struct ListNode *next;
} ListNode;
```
其中,`data`表示节点储存的数据,`next`表示下一个节点的指针。
下面是单链表不带头结点统计单链表中值为X的结点个数的算法实现:
```c
int count(ListNode *head, int x) {
int cnt = 0;
ListNode *p = head;
while (p != NULL) {
if (p->data == x) {
cnt++;
}
p = p->next;
}
return cnt;
}
```
其中,`head`为单链表的头指针,`x`为要统计的节点的值。使用一个计数器 `cnt`,遍历整个链表,如果节点的值等于 `x`,则 `cnt` 加 1。最后返回 `cnt` 即可。
阅读全文