列表的简单实现,只能存储非负整数
List 也属于ADT(抽象数据类型),此处是使用DLink类实现List。
另外一个实现请参见ArrayList
设置,取值的方法:
set,get
添加,插入,删除的方法
add ,insert, remove
其他方法
getLength, indexOf
class LinkedList {
private DLink link = new DLink();
void add(int value) {
link.addLast(value);
}
void set(int value, int pos) {
assert pos < link.getLength();
link.resetBeforeFirst();
for(int i=0; i<pos; i++) link.next();
link.removeAfter();
link.insertAfter(value);
}
int get(int pos) {
assert pos < link.getLength();
link.resetBeforeFirst();
for(int i=0; i<pos; i++) link.next();
return link.next();
}
void insert(int value,int pos) {
assert pos <= link.getLength();
link.resetBeforeFirst();
for(int i=0; i<pos; i++) link.next();
link.insertAfter(value);
}
int remove(int pos) {
assert pos <= link.getLength();
link.resetBeforeFirst();
for(int i=0; i<pos; i++) link.next();
return link.removeAfter();
}
int getLength() {
return link.getLength();
}
int indexOf(int value) {
return link.indexOf(value);
}
}