标签:lis 线性 返回 previous lse turn rev pos 数据
int search(List L, ElemType e) {
Link link = L;
int position=0;。
while (link!=NULL) {
if (link->elem==e) return position; // 搜寻成功,返回元素 e 的位置。
else if (link->elem<e) { // 还有其它节点,继续搜寻。
link = link->next;
position++; }
else return -1;
}
return -1;
}
int delete(List *L, ElemType e) {
Link current = *L;
Link previous;
int position = 0;
while (current!=NULL) { // 当线性表还有节点。
if (current->elem==e) {
if (position==0) {
*L = current->next;
free(current);
return position;
}
else {
previous->next = current->next;
free(current);
return position;
}
}
else if (current->elem<e) {
previous = current;
current = current->next;
position++; // 位置加 1。
}
else return -1; // 目前节点数据已超过删除的值;删除失败。
}
return -1; // 已经没有节点,删除失败。
}标签:lis 线性 返回 previous lse turn rev pos 数据
原文地址:https://www.cnblogs.com/mju3197103139/p/12901496.html