概述
public class App {
public static void main( String[] args ){
SequenceList<String> list = new SequenceList<>(10);
list.insert("aaa");
list.insert("bbb");
list.insert("ccc");
list.insert("ddd");
for (String s : list){
System.out.println(s);
}
}
//顺序表
static class SequenceList<T> implements Iterable<T>{
//存放元素的数组
T[] elements;
//下一个待插入元素的索引,同时也表示元素个数
int size;
public SequenceList(int capacity){
elements = (T[]) new Object[capacity];
size = 0;
}
public void insert(T t){
elements[size++] = t;
}
//往指定索引位置插入元素
public void insert(int index,T t){
//把index索引处及后面所有元素往后移一个位置
for (int i = size; i>index;i--){
elements[i] = elements[i-1];
}
elements[index] = t;
size++;
}
public T get(int index){
return elements[index];
}
public T remove(int index){
T current = elements[index];
//把指定索引处及后面的元素往前移一个位置
for (int i = index;i<size-1;i++){
elements[i] = elements[i+1];
}
size--;
return current;
}
//清空所有元素
public void clear(){
size =0;
}
public int size(){
return size;
}
public boolean isEmpty(){
return size==0;
}
@Override
public String toString() {
return Arrays.toString(Arrays.copyOf(elements,size));
}
@Override
public Iterator<T> iterator() {
return new SIterator();
}
private class SIterator implements Iterator{
private int cursor = 0;
@Override
public boolean hasNext() {
return cursor<size;
}
@Override
public Object next() {
return elements[cursor++];
}
}
}
}
最后
以上就是缓慢大门为你收集整理的线性表-顺序表遍历的全部内容,希望文章能够帮你解决线性表-顺序表遍历所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复