我是靠谱客的博主 缓慢大门,最近开发中收集的这篇文章主要介绍线性表-顺序表遍历,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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++];
            }
        }

    }

}

最后

以上就是缓慢大门为你收集整理的线性表-顺序表遍历的全部内容,希望文章能够帮你解决线性表-顺序表遍历所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部