数据结构-00 数组(无序数组)

来源:互联网 发布:淘宝怎样打印电子面单 编辑:程序博客网 时间:2024/04/30 06:27

1、用long[ ] 模拟

package org.gzw.arr;public class MyArray {private long[] arr; /* 有效数据的长度 */private int elements;public MyArray() {arr = new long[50];}public MyArray(int maxSize) {arr = new long[maxSize];}/** * 添加数据 */public void insert(long value){arr[elements] = value;elements++;}/** * 显示数据 */public String display(){StringBuffer strbuf = new StringBuffer();strbuf.append("[ ");/*for(long l : arr){strbuf.append(l + ", ");}*/for(int i =0; i<elements;i++){strbuf.append(arr[i] + ", ");}strbuf.delete(strbuf.length()-1, strbuf.length());strbuf.append("]");return strbuf.toString();}/** * 查询数据,并返回位置索引 */public int search(long value){int i;for(i=0;i<elements;i++){if(arr[i] == value) break;}if(i==elements){return -1;}else{return i;}}/** * 查找数据,更具索引来查 */public long get(int index){if(0<=index && index<elements){return arr[index]; }else{throw new ArrayIndexOutOfBoundsException();}}/** * 删除数据 */public void delete(int index){if(0<=index && index<elements){for(int i=index;i<elements;i++){if(i<elements-1){arr[i] = arr[i+1];}else break;}elements--;}else{throw new ArrayIndexOutOfBoundsException();}}/** * 更新数据 */public void change(int index, long value){if(0<=index && index<elements){arr[index] = value;}else{throw new ArrayIndexOutOfBoundsException();}}}

2、测试

package org.gzw.arr;public class TestMyArray {public static void main(String[] args) {MyArray myArr = new MyArray(6);myArr.insert(1);myArr.insert(139);myArr.insert(229);myArr.insert(9);myArr.insert(19);myArr.insert(39);System.out.println(myArr.display());System.out.println(myArr.search(229));System.out.println(myArr.search(88));System.out.println(myArr.get(2));//System.out.println(myArr.get(-1));myArr.delete(2);System.out.println(myArr.display());myArr.change(1, 888);System.out.println(myArr.display());}}


 


 

原创粉丝点击