码迷,mamicode.com
首页 > 其他好文 > 详细

第九周

时间:2020-05-16 18:50:51      阅读:62      评论:0      收藏:0      [点我收藏+]

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!