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的数组,集合,数据结构,算法(一)
本人的愚见,博客是自己积累对外的输出,在学习初期或自己没有多少底料的情况下,与其总结写博客不如默默去搞自己的代码,但是学到集合这一块时,数组,集合,数据结构,算法这个概念搞的我比较混淆,所以不得已写这 ...
随机推荐
- Java多线程之Runnable与Thread
Java多线程之Thread与Runnable 一.Thread VS Runnable 在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口:Thread类和 ...
- 面试必备:Java线程池解析
前言 掌握线程池是后端程序员的基本要求,相信大家求职面试过程中,几乎都会被问到有关于线程池的问题.我在网上搜集了几道经典的线程池面试题,并以此为切入点,谈谈我对线程池的理解.如果有哪里理解不正确,非常 ...
- Interger等包装类的比较
Integer a = 1; integer b = 1; integer c = 500; integer d=500; System.out.print(a==b); System.out.pri ...
- Jedis操作Redis--Key操作
/** * Key(键) * DEL,DUMP,EXISTS,EXPIRE,EXPIREAT,KEYS,MIGRATE,MOVE,OBJECT,PERSIST,PEXPIRE,PEXPIREAT,PT ...
- STL中set和multiset小结
(1)使用set/multiset之前必须包含头文件<set>:#include<set> (2)namespace std{ template <cla ...
- CodeForces 979 D Kuro and GCD and XOR and SUM
Kuro and GCD and XOR and SUM 题意:给你一个空数组. 然后有2个操作, 1是往这个数组里面插入某个值, 2.给你一个x, k, s.要求在数组中找到一个v,使得k|gcd( ...
- Linux命令分类
系统信息arch 显示机器的处理器架构(1)uname -m 显示机器的处理器架构(2)uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件 - (SMBIOS / DM ...
- 用户上传gif动图分解成多张帧图片,并合并生成新gif图片
背景 为什么要制作这么一款工具 首先公司最近在做一款表情包的产品,需要将文字生成到gif图片中,并可以控制文字显示的位置,并将不同的文字显示在不同的图片上 制作成网页端工具,随时随地,方便使用 探索 ...
- 04 python之函数详解
一.函数初识 函数的产生:函数就是封装一个功能的代码片段. li = ['spring', 'summer', 'autumn', 'winter'] def function(): count = ...
- 阿里雷卷:Reactive 基金会的成立将对开发方式带来哪些影响?
作者 | 赵钰莹 近日,Linux 基金会宣布成立 Reactive 基金会.对于 Reactive,各位开发者应该并不陌生,尤其是 Node.js 开发者,但真正了解并意识到这件事情对开发方式带来的 ...