首先判断顺序表是否为空,为空直接返回。如果顺序表不为空再遍历找到元素并删除。
//删除第一次出现的关键字keypublic void remove(int toRemove) {if (isEmpty()) {System.out.println("顺序表为空!");return;}for (int i = 0; i < this.size; i++) {if (this.elem[i] == toRemove) {for (int j = i; j < this.size - 1; j++) {this.elem[j] = this.elem[j+1];}this.size--;return;}}System.out.println("未找到!");}
首先,判断顺序表示是否为空。
然后,应用2.62_search()函数来查找要删除的元素,如果数组中没有要删除的数组,则直接结束该语句。
最后,如果找到了要删除的元素,则利用for循环从要删除元素位置开始,到有效元素个数-1位置截止,依次将后一个元素赋值给前一个元素,最后将有效元素个数减1。
代码示例:
//删除第一次出现的关键字keypublic void remove(int toRemove) {if (isEmpty()){System.out.println("顺序表为空");return;}int index = search(toRemove);if (index == -1){System.out.println("没有要删除的数字");return;}for (int i = index; i < this.usedSize - 1; i++) {this.elem[i] = this.elem[i + 1];}this.usedSize--;}
