数据结构<八>: 数组实现的线程表
来源:互联网 发布:dopdf软件使用方法 编辑:程序博客网 时间:2024/06/10 02:56
package com.mo.object;/** * 线程表-->顺序表的数据结构 */public interface List {/** * 插入 */void insert(int i,Object obj)throws Exception;/** * 删除 */Object delete(int i)throws Exception;/** * 取数据元素 */Object getData(int i)throws Exception;/** * 求元素个数 */int size();/** * 是否空 */boolean isEmpty();}
package com.mo.object;/** *这是一个数组实现的链表 */public class SeqList implements List {final int defaultSize = 10;//数组默认创建的长度int size;//数组的元素个数int maxSize;//数组的长度Object[] listArray;public SeqList() {init(defaultSize);}public SeqList(int maxSize) {init(maxSize);}/** * 初始化数组对象 */private void init(int arrSize) {this.maxSize = arrSize;this.size = 0;this.listArray = new Object[arrSize];}public void insert(int i, Object obj) throws Exception {if(this.size == this.maxSize) {throw new Exception("数组已经满了,不能再插进元素了");}if(i < 0) {throw new Exception("输入的参数不能为零或者是负数");}if(i > this.maxSize) {throw new Exception("输出的参数不能大于该数组的长度");}for(int j = size; j > i; j--) {listArray[j] = listArray[j-1];}listArray[i] = obj;size++;}public Object delete(int i) throws Exception {if(size == 0) {throw new Exception("顺序表已经空了");}if(i < 0) {throw new Exception("输入的参数不能为负数或者是零");}if(i > maxSize) {throw new Exception("输入的参数不能大于数组的最大值");}Object obj = listArray[i];for(int j = i; j < size - 1; j++) {listArray[j] = listArray[j+1];}size--;return obj;}public Object getData(int i) {return listArray[i];}public int size() {return size;}public boolean isEmpty() {return size == 0;}public static void main(String[] args) throws Exception {SeqList arrList = new SeqList();for (int i = 0; i < 10; i++) {arrList.insert(i, "元素" + i);}System.out.println("size" + arrList.size());System.out.println("是否为空" + arrList.isEmpty());for(int j = 0; j<10; j++) {System.out.print("取出元素" + arrList.getData(j));}System.out.println();for(int i = 0; i < 10; i++) {System.out.print("删除元素" + arrList.delete(i));}System.out.println();System.out.println("size" + arrList.size());System.out.println("是否为空" + arrList.isEmpty());}}
阅读全文
0 0
- 数据结构<八>: 数组实现的线程表
- 数据结构-线性表的数组实现-Java
- 【数据结构】栈-数组的实现
- 【数据结构】队列-数组的实现
- [数据结构] 栈的数组实现
- 数组实现栈的数据结构
- 【数据结构】栈的数组实现
- 【数据结构】栈的数组实现
- 【数据结构】线性表(数组实现)
- 数据结构<九>: 链表实现的线程表
- 典型数据结构:线性表(基于数组的实现)
- 数据结构(java语言描述)-- 表的简单数组实现
- 数据结构 - 数组和广义表的基本运算实现
- 算法与数据结构 其二 数组和链表 的实现
- (C语言)栈的线性结构实现(数据结构八)
- (八)数据结构之最大堆的简单实现
- Thread学习(八) ThreadLocal实现线程范围内的共享变量
- 数据结构栈stack的动态数组实现
- kotlin以及as3.0中新的添加依赖
- HSSFWorkBooK用法 做excle导出excle
- Aras innovator: 怎样把excel文件导入到Aras数据库
- 真正搞懂传值引用和传指针引用
- 架构和框架的区别
- 数据结构<八>: 数组实现的线程表
- 输出一个整数的每一位
- 解决安装Liunx后Windows引导丢失的问题
- Android图片加载框架最全解析(七),实现带进度的Glide图片加载功能
- SpringBoot 多模块项目(module)Service自动注入(@Autowired)
- 天眼查询
- 11月22日云栖精选夜读:双11享Go了吗?2017阿里双11在线峰会续写科技盛宴!
- Js批量替换(replaceAll)
- NOIP2017普及组复赛解题报告