/** * 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(); } }
相关推荐
axis 自定义 数组 对象复杂类型的精华所在
1.自定义数组并实现数组2.自定义n个数组并实现输出3.定义两个数组并实现加减乘。
自定义数组程序源代码的实例,注释较少望可以理解
Ning·Array(宁·数组),一些实用的基于ES6的自定义数组方法
运用Java编程,自定义数组大小,解决在数组中加入元素,获取元素;按指定位置删除元素,修改元素;清空数组;数组的排序。
C++ 中自定义数组容器MyVector实现+类模板实现过程中产生的问题的详细注释
C++ 中自定义数组容器MyVector实现+类模板实现过程中产生的问题的详细注释
Excel-VBA宏编程实例源代码-快速输入月份名称的自定义数组函数.zip
VB自定义的一个原创数组类, 元素差不多可为任意类型, 像C语言的数组一样,有Push、Update等很实用的方法。
在自定义的行和列中找到该数组中最大的元素的位置并输出
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的...
连接现场实时数,代替岗位工眼睛判断一段趋势是上升还是下降,进而进行下一步操作,比如转炉下副枪的时机,岗位工通过观察CO2、CO的趋势进行下副枪...输入:实时值、数组大小 输出:y=kx+b、斜率k、截距b、相关系数r^2
本篇文章是关于java 如何自己创建自定义数组,这里给大家一个小实例,希望能帮助有所需要的同学
这个小工具的作用是打开一个Bin文件,转换成C语言的数组,这样可以把Bin文件数据定义到容量大的MCU里面。这样可以用大容量的MCU用BootLaoder方式更新另外一个MCU的程序。 打开exe,导入一个Bin文件,点击转换,就会...
NULL 博文链接:https://kdisk-sina-com.iteye.com/blog/630750
主要介绍了JavaScript自定义数组排序方法,实例分析了javascript自定义数组排序的原理与实现技巧,非常具有实用价值,需要的朋友可以参考下
本文实例讲述了PHP实现的自定义数组排序函数与排序类。分享给大家供大家参考,具体如下: /* * 二维数组自定义排序函数 * uasort($arr,function_name) * **/ $arr = array( array('a'=>1,'b'=>'c'), array('a'=>4...