(线性表)试编写一个算法,在带表头结点的单链表中寻找一个数。\n\n若找到,则函数返回该数在列表中的地址(i [1~n]);\n\n若找不到,则函数返回0。
时间: 2023-05-03 07:02:35 浏览: 100
题目要求编写一个算法,在带表头结点的单链表中寻找一个数。如果找到了,则返回该数在链表中的地址(i [1~n]),否则返回0。
可以使用单链表的遍历,从头结点开始一直往后遍历,比较每个节点存储的值是否等于要查找的数。如果找到,则返回该节点的地址,否则继续往后遍历,直到遍历完整个链表还未找到,返回0即可。
相关问题
(线性表)试编写一个算法,在带表头结点的单链表中寻找一个数。 若找到,则函数返回该数在列表中的地址(i [1~n]); 若找不到,则函数返回0。
此题是要求编写一个算法,在带表头结点的单链表中查找一个数。若找到,则函数返回该数在表中的位置(i [1~n]);若找不到,则函数返回0。
具体实现方法为遍历整个链表,逐个比较链表中的元素和目标数值是否相等,直到找到或者遍历结束。
若找到,则返回该节点在链表中的位置;若未找到,则返回0。
试写出一个采用单链表存储的带表头结点head的线性表A的数据元素逆置的算法
下面是采用单链表存储的带表头结点head的线性表A的数据元素逆置的算法:
```
void ReverseList(LinkList &L) {
// 首先将头结点指针赋值为 NULL,同时用 p 指针指向头结点
LNode *p = L->next;
L->next = NULL;
// 循环遍历链表,将每个结点的 next 指针指向其前一个结点
while (p != NULL) {
LNode *tmp = p->next;
p->next = L->next;
L->next = p;
p = tmp;
}
}
```
这个算法使用了一个循环遍历链表的方法,将每个结点的 next 指针指向其前一个结点,从而实现链表的逆置。
阅读全文