线性表删除

效率较高:

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