這一章節我們來看一下線性表順序存儲結構刪除操作的簡單實現
~~~
package com.ray.testobject;
public class Test {
private Object[] list;
public Object[] getList() {
return list;
}
/**
* 初始化list
*
* @param num
* 元素個數
*/
private void iniList(int num) {
list = new Object[num];
for (int i = 0; i < num; i++) {
list[i] = new Object();
}
}
/**
* 刪除某個元素
*
* @param pos
* 元素位置
*/
private Object delItemOfList(int pos) {
Object delItem = null;
if (pos <= 0 || pos > list.length) {
System.out.println("輸入位置不正確,不能執行刪除方法");
return delItem;
}
delItem = list[pos - 1];
list[pos - 1] = null;
if (pos < list.length) {
for (int i = pos; i < list.length; i++) {
list[i - 1] = list[i];
}
list[list.length - 1] = null;
}
return delItem;
}
public static void main(String[] args) {
Test test = new Test();
test.iniList(5);
for (int i = 0; i < test.getList().length; i++) {
System.out.println(test.getList()[i]);
}
System.out.println("--------------------");
System.out.println("被刪除的元素:" + test.delItemOfList(3));
for (int i = 0; i < test.getList().length; i++) {
System.out.println(test.getList()[i]);
}
}
}
~~~
輸出:
java.lang.Object@1fb8ee3
java.lang.Object@61de33
java.lang.Object@14318bb
java.lang.Object@ca0b6
java.lang.Object@10b30a7
--------------------
被刪除的元素:java.lang.Object@14318bb
java.lang.Object@1fb8ee3
java.lang.Object@61de33
java.lang.Object@ca0b6
java.lang.Object@10b30a7
null
注意:上面的代碼只是一個簡單的模擬,如果有問題,請指出,謝謝。