要求:
实现删除当前顺序表中所有值为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; }