数据结构+算法是我们学习道路上的重中之重,让我们一起进步,一起感受代码之美!

/**
* 让我们从最基本的数据结构——数组开始吧
* 增、删、改、查、插、显示
*/
public class Seqlist {
private long arr[];
private int Maxsize;
private int elements; public Seqlist(int size) {// 构造方法
Maxsize = size;
arr = new long[Maxsize];
elements = 0;
} // 有效数据
public void show() {
System.out.println(elements);
} // 增加
public void add(int value) {
int len = arr.length;
if (elements == len) {
System.out.println("表满,无法继续添加。");
return;
} else {
arr[elements] = value;
}
elements++;
} // 删除(输入数据)
public void delete(int value) {
int i;
for (i = 0; i < elements; i++) {
if (arr[i] == value) {
break;
}
}
System.out.println(i);
if (i == elements) {
System.out.println("数据不存在");
return;
} else {
for (int j = i; j < elements; j++) {
arr[j] = arr[j + 1];// 后面数据往前面移动
}
}
elements--;
} // 修改
public void revise(int olddt, int newdt) {
int i;
for (i = 0; i < elements; i++) {
if (arr[i] == olddt) {
break;
}
}
arr[i] = newdt;
} // 查找(按值查找,返回下标)
public int index(int value) {
for (int i = 0; i < elements; i++) {// 遍历有效数据
if (arr[i] == value) {
return i;
}
}
return -1;
} // 插入
public void insert(int key, int value) {
if (key > ++elements || key < 0) {
System.out.println("输入值无效");
}
for (int j = elements; j > key - 1; j--) {
arr[j + 1] = arr[j];// 这句完成有效数据自加
}
arr[key] = value;// 赋值到输入下标位置
} // 显示
public void display() {
for (int i = 0; i < elements; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
} public static void main(String[] args) {
Seqlist s = new Seqlist(100);
s.add(324);
s.add(536);
s.add(342);
s.add(87); s.revise(324, 3);// 修改
s.revise(536, 4);
s.revise(342, 5);
s.revise(87, 6);
s.display();
s.show(); s.insert(0, 1);// 插入
s.insert(1, 2);
s.show();
s.display();
} }

java数据结构——数组(Array)的更多相关文章

  1. Java之数组array和集合list、set、map

    之前一直分不清楚java中的array,list.同时对set,map,list的用法彻底迷糊,直到看到了这篇文章,讲解的很清楚. 世间上本来没有集合,(只有数组参考C语言)但有人想要,所以有了集合 ...

  2. JAVA中数组Array与List互转

    List<String> list = new ArrayList<String>();String[] array = new String[10]; 1.数组转成Listl ...

  3. 【Java】数组Array

    Java基础复习之:数组 简介 数组(Array):多个相同数据类型按照一定顺序排列的集合,并使用一个名字命名,通过编号的方式对这些数据进行统一管理 一维数组 一维数组的声明与初始化 int[] id ...

  4. java数据结构----数组篇

    1.数组作为java常用的数据结构之一,使用相对简单,下图展示了数组常用操作在允许和不允许重复值的情况下的比较次数 2.进行封装后的代码: package com.cn.higharray; /** ...

  5. Java基础——数组Array

    一.数组基本概念 数组是相同类型数据的有序集合. 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成.其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们. 数组有三 ...

  6. JAVA中数组(Array)、字符串(String)、集合(List、Set)相互转换

    1.数组转List String[] arr = new String[]{"A", "B", "C"}; List list = Arra ...

  7. Java数据结构和算法(四)赫夫曼树

    Java数据结构和算法(四)赫夫曼树 数据结构与算法目录(https://www.cnblogs.com/binarylei/p/10115867.html) 赫夫曼树又称为最优二叉树,赫夫曼树的一个 ...

  8. Java数据结构和算法 - 数组

    Q: 数组的创建? A: Java中有两种数据类型,基本类型和对象类型,在许多编程语言中(甚至面向对象语言C++),数组也是基本类型.但在Java中把数组当做对象来看.因此在创建数组时,必须使用new ...

  9. Java的数组,集合,数据结构,算法(一)

    本人的愚见,博客是自己积累对外的输出,在学习初期或自己没有多少底料的情况下,与其总结写博客不如默默去搞自己的代码,但是学到集合这一块时,数组,集合,数据结构,算法这个概念搞的我比较混淆,所以不得已写这 ...

随机推荐

  1. Scala 系列(二)—— 基本数据类型和运算符

    一.数据类型 1.1 类型支持 Scala 拥有下表所示的数据类型,其中 Byte.Short.Int.Long 和 Char 类型统称为整数类型,整数类型加上 Float 和 Double 统称为数 ...

  2. springBoot项目配置日志打印管理(log4j2)

    1.修改pom文件引用log4j2相关jar包 依赖代码: <!-- log4j2 start --><!-- Spring Boot log4j2依赖 --><depe ...

  3. linux安装redis详细步骤(系统centos 6.4 )

    1.安装redis 进入安装目录下载: cd  /usr/local/redis wget http://download.redis.io/releases/redis-3.0.7.tar.gz 解 ...

  4. Anaconda简单使用手册

    安装部分 准备工作 下载各平台对应的安装包,各平台安装包下载链接如下: Windows macOs Linux 安装过程 安装过程在此不给出具体过程,可参照官方给出教程,各平台对应教程如下: Wind ...

  5. eclipse中导入外部包却无法查看对应源码或Javadoc的入坑指南

    eclipse中导入外部包却无法查看对应源码或Javadoc的 入坑指南 出现这个错误的原因是,你虽然导入了.jar包,但没有配置对应的Javadoc或源码路径,所以在编辑器中无法查看源 码和对应AP ...

  6. FEL,项目实装记录

    FEL,即Fast EL ,版本0.8,具体内容我就不贴了,自行百度 实装遇到的问题: Spring Boot 打包后无法进行表达式编译. 根据百度以及源码,确定这东西是在用JavaCompiler将 ...

  7. [python]错误检测及异常处理try-except

    1. 简介 要给代码添加错误检测及异常处理,只需要将其封装在try-except中. try:通常的代码 except:处理错误和异常的代码 2. 示例 import os try: path = ' ...

  8. 2014-2015 Petrozavodsk Winter Training Camp, Contest.58 (Makoto rng_58 Soejima contest)

    2014-2015 Petrozavodsk Winter Training Camp, Contest.58 (Makoto rng_58 Soejima contest) Problem A. M ...

  9. CF982C Cut 'em all! DFS 树 * 二十一

     Cut 'em all! time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  10. 文档打印 js print调用打印dom内容

    1.首先按目前研究 print可以打印dom 2.被设置overflow:hidden 的模块,打印时会被截掉. 3.被设置成 display:none 的dom 打印不会有样式 边框等. 4.如果需 ...