顺序删除所有特定值
Posted Talk is cheap, show me the cod
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了顺序删除所有特定值相关的知识,希望对你有一定的参考价值。
要求:
实现删除当前顺序表中所有值为x的数据元素,并使此操作的
时间复杂度为O(n),空间复杂度为O(1),其中n为顺序表的长度
思路:
遍历一遍时间复杂度O(n),删除一个值时间复杂度O(n),所以肯定遍历时删除肯定不符合要求。
所以通过设置计数变量K,遍历时改变数组值。
private static void del_x(int value) { int k=0; for(int i=0;i<length();i++){ if(!listElem[i].equals(x)) listElem[k++]=listElem[i]; } curlen=k; }
以上是关于顺序删除所有特定值的主要内容,如果未能解决你的问题,请参考以下文章