packagecom.ncu.list;/***

* 顺序结构线性列表

*

*@authorliuhao

**/

public class SquenceList{private int size; //线性表的长度

privateObject[] listArray;private int currenSize = 0; //当前线性表中的数据

publicSquenceList() {

}public SquenceList(intsize) {this.size =size;

listArray= newObject[size];

}public void arrayCopy(intindex) {

Object newArray[]= newObject[size];for (int i = 0; i < currenSize; i++) {if (i >=index) {

newArray[i]= listArray[i + 1];

}else{

newArray[i]=listArray[i];

}

}

listArray=newArray;

newArray= null; //释放资源

}/*** 根据索引位置移除元素

*

*@paramindex*/

public void remove(intindex) {

index= index - 1;if (index < 0 || index >currenSize) {

System.out.println("线性表索引越界");

}if (currenSize == 0) {

System.out.println("线性表为空");

}else{

currenSize--;

arrayCopy(index);if (currenSize == 0) {

listArray= null;

}

}

}/*** 根据元素内容移除元素

*

*@paramelement*/

public voidremoveLocate(T element) {for (int i = 0; i

remove(i+ 1);

}else{

i++;

}

}

}/*** 从线性表尾段插入数据

*

*@paramelement*/

public voidadd(T element) {if (currenSize > size || currenSize < 0) {

System.out.println("线性表索引越界");

}else{

listArray[currenSize]=element;

currenSize++;

}

}private void insert(T element, intindex) {

index= index - 1;if (currenSize > size || currenSize < 0 || index < 0

|| index >=currenSize) {

System.out.println("线性表索引越界");

}else{

Object newArray[]= newObject[size];for (int i = 0; i < currenSize; i++) {if (i >=index) {

newArray[index]=element;

newArray[i+ 1] =listArray[i];

}else{

newArray[i]=listArray[i];

}

}

listArray=newArray;

newArray= null;

currenSize++;

}

}/*** 在指定索引位置插入数据

*

*@paramelement

*@paramindex*/

public void add(T element, intindex) {if (index ==size) {

add(element);

}else{

insert(element, index);

}

}/*** 删除线性表最后一个元素*/

public voiddelete() {if(isEmpty()) {

System.out.println("线性表为空,不能删除");

}else{

listArray[currenSize- 1] = null;

currenSize--;

}

}/*** 判读线性表是否为空

*

*@return

*/

public booleanisEmpty() {if (currenSize == 0) {return true;

}else{return false;

}

}/*** 根据索引找到相应的元素

*

*@paramindex

*@return

*/

public T get(intindex) {

T obj= null;if (isEmpty() || index > currenSize || index < 0) {

System.out.println("线性表为空,不能删除");

}else{

obj= (T) listArray[index - 1];

}returnobj;

}/*** 清空线性表*/

public voidclear() {

size= 0;

currenSize= 0;

}/*** 得到线性表当前的元素的个数

*

*@return

*/

public intsize() {returncurrenSize;

}public voidshowList() {if (currenSize > 0) {for (int i = 0; i < currenSize; i++) {

System.out.println(listArray[i]);

}

}else{

System.out.println("线性表为空");

}

System.out.println("------------");

}public static voidmain(String[] args) {

SquenceList list = new SquenceList(10);

}

}

Java 实现线性运动界面_java 实现顺序结构线性列表相关推荐

  1. java直线函数_java实现顺序结构线性列表的函数代码

    package com.ncu.list; /** * * 顺序结构线性列表 * * */ public class SquenceList { private int size; // 线性表的长度 ...

  2. C++实现顺序结构线性表的基本操作

    这两天在准备<软件工程>期末考试,顺带着整理一下今天复习线性表基本操作的代码. ps:本人编程水平一般,有问题还望指出,高手请见谅. main.cpp /* 内容:建立元素数据类型为CEl ...

  3. java怎么开发图形界面_Java Swing 图形界面开发简介

    1. Swing简介 Swing 是 Java 为图形界面应用开发提供的一组工具包,是 Java 基础类的一部分. Swing 包含了构建图形界面(GUI)的各种组件,如: 窗口.标签.按钮.文本框等 ...

  4. java set 有序的吗_java set 顺序

    展开全部 集(set)是最简单的一种集合,它的对象不按特定方式排序(不保证集合中元32313133353236313431303231363533e78988e69d8331333366306531素 ...

  5. java画笔覆盖在界面_Java实现画图程序和重绘

    上次聊了一下事件监听机制,今天就来聊一下怎么实现一个画图程序并且实现重绘. 一.实现画图程序 1.实现一个画图程序所需的API类? JFrame窗体容器组件类 JPanel 面板元素组件类 JButt ...

  6. java图形用户登录界面_Java简单登录图形界面

    一.登录界面 1.程序代码 1 import java.awt.*;//导入awt包 2 import javax.swing.*;//导入swing包 3 import java.awt.event ...

  7. java编写系统登录界面_java 登陆界面怎么写,连接数据库后

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 界面是 package 界面类; import javax.jws.soap.SOAPBinding.Use; import javax.swing.JB ...

  8. java画笔覆盖在界面_Java画笔的简单实用方法

    Java中提供了画笔,可以使用画笔做出界面上的任何东西,接下来先熟悉一下画笔的使用过程,以画一条线为例. 源码: import java.awt.Graphics; import java.awt.e ...

  9. java控制台输入做界面_Java控制台输入

    0 引言 从控制台中读取数据是一个比较常用的功能,在 JDK 5.0 以前的版本中的实现是比较复杂的,需要手工处理系统的输入流.有意思的是,从 JDK 5.0 版本开始,能从控制台中输入数据的方法每增 ...

最新文章

  1. solidity智能合约[17]-动态长度数组
  2. Mysql的float double decimal
  3. wget下载速度太慢,mwget多线程下载工具
  4. CODE[VS] 1346 HelloWorld编译器
  5. fread 单独测试没有问题 在正式项目里面丢数据 可能是系统资源不足 预读出了问题
  6. 【信息系统项目管理师】第12章-项目采购管理 知识点详细整理
  7. 6月28(docker)
  8. 网络安全面试题及答案
  9. 数学分析教程(科大)——1.9笔记+习题
  10. 轻松读懂三极管,原来它是这样工作的
  11. 185. 部门工资前三高的所有员工(重要)
  12. 【论文笔记】A survey on security and privacy of federated learning(综述)
  13. Vue3+Ant-design项目启用ts/typescript
  14. 任意椭圆和直线求交点方程组解析
  15. git不显示贡献度的解决方案
  16. oracle驱动下载
  17. SpringBoot  启动出现Cannot determine embedded database driver class for database type NONE
  18. Spring Security oAuth2创建认证服务器模块
  19. 通用网页广告监测,ADBlock plus算法的C#实现。
  20. HCIE 面试资料-QOS

热门文章

  1. Python实战从入门到精通第十二讲——给函数参数增加元信息
  2. leetcode力扣406. 根据身高重建队列
  3. java容器源码实战——vector
  4. 算法黑话大赏,我直呼好家伙!
  5. Linux中重定向的实验总结,Linux中重定向命令行的总结
  6. HDU-4578 Transformation 线段树(两种方法)
  7. VGGNet论文翻译-Very Deep Convolutional Networks for Large-Scale Image Recognition
  8. redis sentinel集群与spring集成
  9. lms算法的verilog实现_数字通信同步技术的MATLAB与FPGA实现
  10. Java十进制转二、八、十六进制方法