这一章节我们来看一下线性表顺序存储结构删除操作的简单实现
~~~
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
注意:上面的代码只是一个简单的模拟,如果有问题,请指出,谢谢。