Java 实现线性运动界面_java 实现顺序结构线性列表
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 实现顺序结构线性列表相关推荐
- java直线函数_java实现顺序结构线性列表的函数代码
package com.ncu.list; /** * * 顺序结构线性列表 * * */ public class SquenceList { private int size; // 线性表的长度 ...
- C++实现顺序结构线性表的基本操作
这两天在准备<软件工程>期末考试,顺带着整理一下今天复习线性表基本操作的代码. ps:本人编程水平一般,有问题还望指出,高手请见谅. main.cpp /* 内容:建立元素数据类型为CEl ...
- java怎么开发图形界面_Java Swing 图形界面开发简介
1. Swing简介 Swing 是 Java 为图形界面应用开发提供的一组工具包,是 Java 基础类的一部分. Swing 包含了构建图形界面(GUI)的各种组件,如: 窗口.标签.按钮.文本框等 ...
- java set 有序的吗_java set 顺序
展开全部 集(set)是最简单的一种集合,它的对象不按特定方式排序(不保证集合中元32313133353236313431303231363533e78988e69d8331333366306531素 ...
- java画笔覆盖在界面_Java实现画图程序和重绘
上次聊了一下事件监听机制,今天就来聊一下怎么实现一个画图程序并且实现重绘. 一.实现画图程序 1.实现一个画图程序所需的API类? JFrame窗体容器组件类 JPanel 面板元素组件类 JButt ...
- java图形用户登录界面_Java简单登录图形界面
一.登录界面 1.程序代码 1 import java.awt.*;//导入awt包 2 import javax.swing.*;//导入swing包 3 import java.awt.event ...
- java编写系统登录界面_java 登陆界面怎么写,连接数据库后
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 界面是 package 界面类; import javax.jws.soap.SOAPBinding.Use; import javax.swing.JB ...
- java画笔覆盖在界面_Java画笔的简单实用方法
Java中提供了画笔,可以使用画笔做出界面上的任何东西,接下来先熟悉一下画笔的使用过程,以画一条线为例. 源码: import java.awt.Graphics; import java.awt.e ...
- java控制台输入做界面_Java控制台输入
0 引言 从控制台中读取数据是一个比较常用的功能,在 JDK 5.0 以前的版本中的实现是比较复杂的,需要手工处理系统的输入流.有意思的是,从 JDK 5.0 版本开始,能从控制台中输入数据的方法每增 ...
最新文章
- solidity智能合约[17]-动态长度数组
- Mysql的float double decimal
- wget下载速度太慢,mwget多线程下载工具
- CODE[VS] 1346 HelloWorld编译器
- fread 单独测试没有问题 在正式项目里面丢数据 可能是系统资源不足 预读出了问题
- 【信息系统项目管理师】第12章-项目采购管理 知识点详细整理
- 6月28(docker)
- 网络安全面试题及答案
- 数学分析教程(科大)——1.9笔记+习题
- 轻松读懂三极管,原来它是这样工作的
- 185. 部门工资前三高的所有员工(重要)
- 【论文笔记】A survey on security and privacy of federated learning(综述)
- Vue3+Ant-design项目启用ts/typescript
- 任意椭圆和直线求交点方程组解析
- git不显示贡献度的解决方案
- oracle驱动下载
- SpringBoot 启动出现Cannot determine embedded database driver class for database type NONE
- Spring Security oAuth2创建认证服务器模块
- 通用网页广告监测,ADBlock plus算法的C#实现。
- HCIE 面试资料-QOS
热门文章
- Python实战从入门到精通第十二讲——给函数参数增加元信息
- leetcode力扣406. 根据身高重建队列
- java容器源码实战——vector
- 算法黑话大赏,我直呼好家伙!
- Linux中重定向的实验总结,Linux中重定向命令行的总结
- HDU-4578 Transformation 线段树(两种方法)
- VGGNet论文翻译-Very Deep Convolutional Networks for Large-Scale Image Recognition
- redis sentinel集群与spring集成
- lms算法的verilog实现_数字通信同步技术的MATLAB与FPGA实现
- Java十进制转二、八、十六进制方法