第九周学习知识总结

  • 单链线性表的查找元素

    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; // 已经没有节点,删除失败。 
    }

     

posted on 2020-05-05 15:53  今天也超甜呀w  阅读(179)  评论(0)    收藏  举报