/** * java 模拟数组 * @author zm */ public class MyArray { private int size; // 实际个数 private int[] arr; private int max; // 数组最大长度 public MyArray(){ arr = new int[10]; max = 10; } public MyArray(int size){ arr = new int[size]; max = size; } // 尾部插入数据 public void insert(int val){ if(size < max){ arr[size] = val; size ++; }else{ throw new RuntimeException("超出数组长度,不能添加"); } } // 展示数组内数据 public void display(){ if(this.size > 0){ System.out.print("["); for(int i=0; i<size; i++){ System.out.print(arr[i] +" "); } System.out.print("]"); }else{ System.out.print("[]"); } } // 根据数值查找所在数组内的角标 public int searchByVal(int val){ if(this.size > 0){ int i ; for(i=0; i<size; i++){ if(arr[i] == val){ break; } } if(i == size){ return -1; }else{ return i; } }else{ throw new RuntimeException("数组为空"); } } // 根据角标查找数组内的数据 public int searchByIndex(int index){ if(this.size > 0){ if(index >= size || index <0){ throw new RuntimeException("角标越界"); } return arr[index]; }else{ throw new RuntimeException("数组为空"); } } // 删除指定角标内的数据 public void delete(int index){ if(this.size > 0){ if(index >= size || index <0){ throw new RuntimeException("角标越界"); } // 数据前移 for(int i = index; i<size-1; i++){// i =0 i < z; i++ arr[i] = arr[i + 1]; } size --; System.out.println(size); }else{ throw new RuntimeException("数组为空"); } } // 更新数组元素 public void change(int index, int value){ if(this.size > 0){ if(index >= size || index <0){ throw new RuntimeException("角标越界"); } // 数据前移 arr[index] = value; }else{ throw new RuntimeException("数组为空"); } } public static void main(String[] args) { MyArray array = new MyArray(3); array.insert(1); array.insert(2); array.insert(3); //array.insert(4); array.display(); /*int index = array.searchByVal(5); System.out.println(index);*/ /*int value = array.searchByIndex(2); System.out.println(value);*/ /*array.delete(1); array.display();*/ array.change(0, 4); array.display(); } }
相关推荐
在VB(Visual Basic)编程环境中,自定义数组类是一种非常有用的工具,它允许开发者创建具有特定功能和行为的数组对象,以适应特定项目的需求。在标题提到的"VB自定义数组类"中,作者实现了一个原创的数组类,旨在...
### Axis自定义数组对象知识点详解 #### 一、概述 在进行Web服务开发时,我们经常需要处理复杂的类型,如自定义的数组或对象。Apache Axis框架为Java开发者提供了强大的支持,使得创建、部署和调用Web服务变得简单...
自定义数组是指程序员根据需求创建特定大小和用途的数组。在这个名为“IntArraySample1”的压缩包中,我们很可能会找到一个用某种编程语言(可能是Java、C++或Python等)编写的示例程序,演示如何创建和操作自定义...
标题“axis参数为自定义数组”暗示我们将探讨如何使用自定义数组来操作`axis`,这通常涉及到像NumPy这样的库。让我们深入了解一下这个主题。 NumPy是Python中的一个强大库,用于科学计算,它提供了多维数组对象...
1.自定义数组并实现数组2.自定义n个数组并实现输出3.定义两个数组并实现加减乘。
在Java编程中,"泛型自定义数组大小"是一个重要的概念,它涉及到数据结构和算法的基础,以及面向对象编程中的类型安全。泛型是Java 5引入的一个特性,旨在提高代码的类型安全性,减少类型转换的冗余,并提供编译时的...
### 自定义数组中寻找最大元素位置 #### 概述 本文将详细介绍如何通过编写Java程序,在一个二维数组中查找最大值及其位置。本程序适用于任何大小的数组,并能准确地返回最大值所在的行和列索引。 #### 程序结构...
本实例“Excel-VBA宏编程实例源代码-快速输入月份名称的自定义数组函数.zip”着重展示了如何利用VBA编写自定义数组函数来快速输入月份名称。以下是对这个主题的详细讲解: 1. **VBA宏基础**: VBA是Microsoft ...
宁数组(Ning·Array)是一组实用的基于ES6语法的自定义数组方法,它扩展了JavaScript原生数组的功能,提供了更为灵活和强大的数组操作工具。这些方法旨在简化常见的数组处理任务,提高代码的可读性和效率。下面将...
C++ 中自定义数组容器MyVector实现+类模板实现过程中产生的问题的详细注释
本篇文章将深入探讨如何实现一个类似于标准库中的`std::vector`的自定义数组容器——MyVector,并通过类模板来增强其泛型编程的能力。我们将详细分析`MyVector`的实现过程,以及在实现过程中可能遇到的问题。 首先...
Javascript自定义数组删除方法remove()</title> [removed] Array.prototype.remove=function(dx){ if(isNaN(dx)||dx>this.length){return false;} for(var i=0,n=0;i<this.length;i++){ if(this[i]!=this...
而本文主要给大家介绍了关于Js利用prototype自定义数组方法的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 题目 如何实现下列代码: [1,2,3,4,5].duplicator(); // [1,2,3,4,5,1,...
自定义数组。在MyArray.py文件中,定义了一个数组类,重写了一部分特殊方法以支持数组之间、数组与整数之间的四则运算以及内积、大小比较、成员测试和元素访问等运算符。被我运用来解决三维向量Vector类这道PTA的...
在Java编程语言中,创建自定义数组意味着我们不使用基本数据类型(如int、double等)来创建数组,而是使用自定义的类实例。自定义类通常包含特定于业务逻辑的属性和方法。在这个例子中,`Student` 类被用作自定义...
连接现场实时数,代替岗位工眼睛判断一段趋势是上升还是下降,进而进行下一步操作,比如转炉下副枪的时机,岗位工通过观察CO2、CO的趋势进行下副枪...输入:实时值、数组大小 输出:y=kx+b、斜率k、截距b、相关系数r^2
这个小工具的作用是打开一个Bin文件,转换成C语言的数组,这样可以把Bin文件数据定义到容量大的MCU里面。这样可以用大容量的MCU用BootLaoder方式更新另外一个MCU的程序。 打开exe,导入一个Bin文件,点击转换,就会...
本文实例讲述了JavaScript自定义数组排序方法。分享给大家供大家参考。具体分析如下: Array中有自带的排序功能,这个使用起来比较方便,我们有一点必须清楚,就是排序的依据,如果sort不传入参数的话,那就是按照...
例如,在处理文件数据时,可以先用“LocalAlloc”分配内存,然后用“读自定义数组_整数型”读取文件内容到内存数组,进行处理后再用“写自定义数组_整数型”将结果写回文件或内存,最后用“LocalFree”释放内存。...