線性表刪除

效率較高:

void listRemoveValue(LinearList * list,LinearListNodeValue value){
   if (list == NULL) return;
   //定義一個初始值記錄需要刪除的個數
   int removeCount = 0;
   //遍歷所有元素
   for (int i = 0 ; i < list->length; i++) {
       if (list->values[i]==value) {//是需要刪除的
           //讓刪除的個數加1
           removeCount++;
       }else{//不刪除就挪動
           list->values[i - removeCount] = list->values[i];
       }
   }
   //最后將長度減去刪除的個數
   list->length -= removeCount;
}

效率較低:

void listRemoveValue(LinearList * list,LinearListNodeValue value){
    if (list == NULL) return;
    //遍歷所有元素
    for (int i = 0 ; i < list->length; i++) {
        while (list->values[i] == value && i< list->length) {//是需要刪除的!!
            //干掉當前的數據
            listRemove(list, i);
            list->length--;
        }
    }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 數據結構是編程的起點,理解數據結構可以從三方面入手: 邏輯結構。邏輯結構是指數據元素之間的邏輯關系,可分為線性結構...
    yhthu閱讀 2,320評論 0 6
  • 版權所有,轉載注明。 桌面應用軟件,在操作系統中,通過操作系統桌面窗體展現應用內容,并實現用戶交互操作。編程語言有...
    heguorui閱讀 24,998評論 1 36
  • 甩掉背上的猴子,讓你的下屬比你更能干! “背上的猴子”,這一經典的管理學理論,往往被中國老板誤用,和“執行力”一樣...
    聞方培訓師閱讀 2,599評論 0 3
  • 簡悅直播教練恬源閱讀 169評論 0 1
  • 面朝著大海 就算沒有春暖花開 但也不會是 嚴冬酷暑 在億萬的人海中 微小的我 是多么多么的 微不足道啊 就算是這樣...
    心笑塵閱讀 172評論 0 0