栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java算法笔记05:线性表-顺序表

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java算法笔记05:线性表-顺序表

package SuanFanTable;

import org.omg.CORBA.Object;

class SequenceList {

    //构造方法
    //SequenceList(int capacity):创建容量为capacity的SequenceList对象

    //成员方法
    

    //成员变量
//    1.private T[] eles:存储元素的数组
    //2.private int N:当前线性表的长度



    //存储元素的数组
    private T[] a;
    //记录顺序表中的元素个数
    private int N;

    //构造方法
    public 	SequenceList(int capacity)
    { //初始化数组
        this.a=(T[])new Object[capacity];
        this.N=0;
    }

    //将一个线性表置为空表
    public void reset() {
        this.N=0;
    }
    //判断当前线性表是否为空表
    public boolean isEmpty()
    {
        return N==0;
    }
    //获取线性表的长度
    public int length()
    {
        return N;
    }
    //获取指定位置的元素
    public T get(int i)
    {
        return a[i];
    }
    //向线性表中添加元素
    public void insert(T t)
    {
        a[N++]=t;

    }
    //在i元素处插入元素t
    public void insert(int i,T t)
    {
        //先把i索引处的元素及其后面索引处的元素依次向后移动一位
        for(int index=N-1;index>i;index--)
        {
            a[index]=a[index-1];
        }

        //再把t元素放到i元素处即可
        a[i]=t;
    }
    //删除指定位置i处的元素,并返回该元素
    public T remove(int i)
    {
        //记录索引i处的值
        T  current=a[i];
        //索引i后面的元素依次向前移动一位即可
        for(int index= i;index
            a[index]=a[index+1];
        }
        N--;
        return current ;
    }
    //查找t元素第一次出现的位置
    public int indexOf(T t)
    {
        for(int i=0;i
            if(a[i]==t)
            {
                return i;
            }
        }
        return -1;
    }

    public static void main(String[] args)
    {
        //创建顺序表对象
        SequenceLists =new SequenceList<>(10);

        //测试插入
        s.insert("姚明");
        s.insert("小明");
        s.insert("小王");
        s.insert(1,"科比");
        //测试获取
        String gets=s.get(1);
        System.out.println("索引1处的结果为:"+gets);
        //测试删除
        String removeresult =s.remove(0);
        System.out.println("删除的元素是:"+removeresult);
        //测试清空
        s.reset();
        System.out.println("清空后的元素个数为:"+s.length());
    }

}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1031804.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号