首页 > 代码库 > 顺序表
顺序表
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; } }
顺序表
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。