标签: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