用c语言写出获取某个元素的下一个元素NextElem(LinkList L, ElemType cur_e, ElemType * next_e)
时间: 2023-05-17 14:06:40 浏览: 78
下面是获取某个元素的下一个元素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;
}
相关问题
获取某个元素的下一个元素NextElem(LinkList L, ElemType cur_e, ElemType * next_e)
这是一个关于链表的问题,下面是代码实现:
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语言实现顺序表获取某个元素的下一个元素Status NextElem_Sq(SqList L, ElemType cur_e, ElemType* next_e)
下面是用C语言实现顺序表获取某个元素的下一个元素的代码:
Status NextElem_Sq(SqList L, ElemType cur_e, ElemType* next_e) {
int i;
for (i = 0; i < L.length - 1; i++) {
if (L.data[i] == cur_e) {
*next_e = L.data[i + 1];
return OK;
}
}
return ERROR;
}
其中,SqList是顺序表的类型,包含一个数组data和一个整型变量length,ElemType是元素的类型,可以是int、char等。函数的返回值是Status类型,表示函数执行的状态,OK表示成功,ERROR表示失败。函数的参数包括顺序表L、当前元素cur_e和下一个元素next_e的指针。函数的实现是遍历顺序表,找到当前元素cur_e的位置,然后将下一个元素的值赋给next_e指向的变量。如果找不到当前元素,返回ERROR。
阅读全文