java数据结构——数组(Array)
数据结构+算法是我们学习道路上的重中之重,让我们一起进步,一起感受代码之美!
/**
* 让我们从最基本的数据结构——数组开始吧
* 增、删、改、查、插、显示
*/
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)的更多相关文章
- Java之数组array和集合list、set、map
之前一直分不清楚java中的array,list.同时对set,map,list的用法彻底迷糊,直到看到了这篇文章,讲解的很清楚. 世间上本来没有集合,(只有数组参考C语言)但有人想要,所以有了集合 ...
- JAVA中数组Array与List互转
List<String> list = new ArrayList<String>();String[] array = new String[10]; 1.数组转成Listl ...
- 【Java】数组Array
Java基础复习之:数组 简介 数组(Array):多个相同数据类型按照一定顺序排列的集合,并使用一个名字命名,通过编号的方式对这些数据进行统一管理 一维数组 一维数组的声明与初始化 int[] id ...
- java数据结构----数组篇
1.数组作为java常用的数据结构之一,使用相对简单,下图展示了数组常用操作在允许和不允许重复值的情况下的比较次数 2.进行封装后的代码: package com.cn.higharray; /** ...
- Java基础——数组Array
一.数组基本概念 数组是相同类型数据的有序集合. 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成.其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们. 数组有三 ...
- JAVA中数组(Array)、字符串(String)、集合(List、Set)相互转换
1.数组转List String[] arr = new String[]{"A", "B", "C"}; List list = Arra ...
- Java数据结构和算法(四)赫夫曼树
Java数据结构和算法(四)赫夫曼树 数据结构与算法目录(https://www.cnblogs.com/binarylei/p/10115867.html) 赫夫曼树又称为最优二叉树,赫夫曼树的一个 ...
- Java数据结构和算法 - 数组
Q: 数组的创建? A: Java中有两种数据类型,基本类型和对象类型,在许多编程语言中(甚至面向对象语言C++),数组也是基本类型.但在Java中把数组当做对象来看.因此在创建数组时,必须使用new ...
- Java的数组,集合,数据结构,算法(一)
本人的愚见,博客是自己积累对外的输出,在学习初期或自己没有多少底料的情况下,与其总结写博客不如默默去搞自己的代码,但是学到集合这一块时,数组,集合,数据结构,算法这个概念搞的我比较混淆,所以不得已写这 ...
随机推荐
- Python学习 之 计算机基础
第一章 计算机基础 1.1 硬件 计算机基本的硬件由:CPU / 内存 / 主板 / 硬盘 / 网卡 / 显卡 等组成,只有硬件但硬件之间无法进行交流和通信 1.2 操作系统 操作系统用于协同或控制硬 ...
- JS核心之DOM操作 上
JS一个重要功能就是操作DOM, 改变页面显示. 目录: 1.基本概念 2.节点类型 3.节点关系 4.节点操作 基本概念 DOM全称为Document Object Model ,即文档对象模型,是 ...
- python requests接口测试系列:连接mysql,获取mysql查询的值作为接口的入参
主要思路: 连接mysql数据库,这里数据库需要使用Proxifier来设置代理,然后才能正常连接 获取mysql数据库中某一数据,作为接口的参数信息 将接口返回结果保存至csv数据表中 # -*- ...
- JDK8的JVM内存结构,元空间替代永久代成为方法区及常量池的变化
JVM的知识这里总结的很详细:https://github.com/doocs/jvm/blob/master/README.md,因此在本博客也不会再对其中的东西重复总结了. 现在很多文章关于JVM ...
- CodeForces - 534B-Covered Path+思路
CodeForces - 534B 题意:给定初始和末尾的速度,和最大加速度和总时间,求出走的最长路程: 我一开始以为代码写起来会很繁琐... #include <iostream> #i ...
- lightoj 1030-B - Discovering Gold (概率dp)
题意:有一个直线的金矿,每个点有一定数量的金子:你从0开始,每次扔个骰子,扔出几点就走几步, 然后把那个点的金子拿走:如果扔出的骰子超出了金矿,就重新扔,知道你站在最后一个点:问拿走金 子的期望值是多 ...
- 牛客网 Wannafly挑战赛 C 列一列 简单题 (题目有点坑)
链接:https://www.nowcoder.com/acm/contest/71/C来源:牛客网 题目描述 小W在计算一个数列{An},其中A1=1,A2=2,An+2=An+1+An.尽管他计算 ...
- android CTS 命令
> h //help Host: help: show this message help all: show the complete tradefed help exit: grace ...
- asp net core mvc 跨域ajax解决方案
1.配置服务端 在Startup文件中国配置Cors策略: IEnumerable<Client> clients= Configuration.GetSection("Clie ...
- Vue使用MathJax动态识别数学公式
本人菜鸟一名,如有错误,还请见谅. 1.前言 最近公司的一个项目需求是在前端显示Latex转化的数学公式,经过不断的百度和测试已基本实现.现在此做一个记录. 2.MathJax介绍 MathJax是一 ...