首页 > 代码库 > 顺序表

顺序表

package com.dy.xidian;public class SequenceTable<T> {    // 顺序表总大小    private int maxSize = 50;    private T data[] = (T[]) new Object[maxSize];    // 当前表的长度    private int length;    /**     * 表的大小采用默认方式     */    public SequenceTable() {    }    /**     *      * @param _maxSize指定表的大小     */    public SequenceTable(int _maxSize) {        this.maxSize = _maxSize;    }    /**     * 插入操作     *      * @param i     *            插入元素的位置     * @param e     *            插入的元素     * @return 插入后返回的结果成功或失败 元素的其实位置从0开始     */    public boolean listInsert(int i, T e) {        if (i < 0 || i > length)            return false;        if (length >= maxSize)            return false;        for (int j = length; j > i; j--)            data[j] = data[j - 1];        data[i] = e;        length++;        return true;    }    /**     * 删除操作     *      * @param i     *            要删除元素的位置     * @return 返回成功或失败     */    public boolean listDelete(int i) {        if (i < 0 || i > length - 1)            return false;        for (int j = i; j < length; j++)            data[j] = data[j + 1];        length--;        return true;    }    /**     * 元素定位     *      * @param e     *            欲查询的元素     * @return 元素的位置     */    public int locateElem(T e) {        int i;        for (i = 0; i < length; i++)            if (data[i] == e)                return i + 1;        return -1;    }    /**     * 获取元素     *      * @param i     * @return     */    public T listGet(int i) {        if (i < 0 || i > length - 1)            return null;        return data[i];    }    public static void main(String[] args) {        SequenceTable<Integer> list = new SequenceTable<>();        // 在数组0处插入5        list.listInsert(0, 5);        System.out.println(list.listGet(0));        // 在数组1处插入10        list.listInsert(1, 10);        // 删除数组0处的元素        list.listDelete(0);        System.out.println(list.listGet(0));    }}

 顺序表元素逆置

void reverse(List list){    E e;    for(int i=0; i<list.getLength()/2;i++){         e = list.data[i];         list.data[i] = list.data[list.length-i-1];         list.data[list.length-i-1] = e;      }        }

顺序表