2 Star 0 Fork 0

CS-IMIS-23/20172309_javaProgramming

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
UnorderedArrayList.java 1.74 KB
一键复制 编辑 原始数据 按行查看 历史
package second_term.sixth_chapter;
public class UnorderedArrayList<T> extends ArrayList<T> implements UnorderedADT<T >{
public UnorderedArrayList(){
super();
}
public UnorderedArrayList(int initialCapacity){
super(initialCapacity);
}
@Override
public void addToFrond(T element) {
if (list.length == size())
expandCapacity();
else{
if (rear==0)
list[0]=element;
else{
for (int i =rear-1;i>=0;i--){
list[i+1]=list[i];
}
list[0] = element;
}
}
rear++;
}
@Override
public void addToRear(T element) {
if (list.length == size())
expandCapacity();
else{
list[rear]=element;
}
rear++;
}
@Override
public void addAfter(T element, T target) {
if (size() == list.length)
expandCapacity();
int scan = 0;
// find the insertion point
while (scan < rear && !target.equals(list[scan]))
scan++;
if (scan == rear)
throw new ElementNotFoundException("UnorderedList");
scan++;
// shift elements up one
for (int shift=rear; shift > scan; shift--)
list[shift] = list[shift-1];
// insert element
list[scan] = element;
rear++;
modCount++;
}
public static void main(String []args){
UnorderedArrayList list = new UnorderedArrayList();
list.addToFrond(1);
list.addToFrond(0);
list.addToRear(2);
list.addToRear(3);
list.addToRear(5);
list.addAfter(4,3);
System.out.println(list);
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/CS-IMIS-23/20172309_javaProgramming.git
git@gitee.com:CS-IMIS-23/20172309_javaProgramming.git
CS-IMIS-23
20172309_javaProgramming
20172309_javaProgramming
master

搜索帮助