获取某个元素的下一个元素NextElem(LinkList L, ElemType cur_e, ElemType * next_e)
时间: 2023-05-17 09:06:32 浏览: 71
这是一个关于链表的问题,下面是代码实现:
Status NextElem(LinkList L, ElemType cur_e, ElemType *next_e) {
// 遍历链表,找到当前元素
LNode *p = L->next;
while (p && p->data != cur_e) {
p = p->next;
}
// 如果当前元素不存在或者是最后一个元素,则返回错误
if (!p || !p->next) {
return ERROR;
}
// 返回下一个元素的值
*next_e = p->next->data;
return OK;
}
相关问题
用c语言写出获取某个元素的下一个元素NextElem(LinkList L, ElemType cur_e, ElemType * next_e)
下面是获取某个元素的下一个元素NextElem(LinkList L, ElemType cur_e, ElemType * next_e)的C语言代码:
Status NextElem(LinkList L, ElemType cur_e, ElemType * next_e) {
// 遍历链表,找到当前元素
LNode *p = L->next;
while (p != NULL && p->data != cur_e) {
p = p->next;
}
if (p == NULL || p->next == NULL) {
// 没有找到当前元素或者当前元素没有下一个元素
return ERROR;
}
// 找到当前元素的下一个元素
*next_e = p->next->data;
return OK;
}
获取某个元素的下一个元素Status NextElem_Sq(SqList L, ElemType cur_e, ElemType* next_e)
这是一个关于线性表的问题,可以回答。下面是代码实现:
Status NextElem_Sq(SqList L, ElemType cur_e, ElemType* next_e) {
int i;
for (i = 0; i < L.length; i++) {
if (L.data[i] == cur_e) {
if (i == L.length - 1) {
return ERROR; // cur_e是最后一个元素,没有下一个元素
} else {
*next_e = L.data[i + 1];
return OK;
}
}
}
return ERROR; // cur_e不在L中
}