• java数据结构系列之——数组(1)


    import javax.management.RuntimeErrorException;
    
    public class MyArray {
    	private long array[];
    	private int elements;//用于记录数组中实际数据的个数
    	
    	public MyArray(){
    		array=new long[50];//数组默认长度为50;
    	}
    	
    	public MyArray(int capacity){//设置数组的默认长度
    		array=new long[capacity];
    	}
    	
    	/**
    	 * 在数组末尾添加元素
    	 */
    	public void add(long data){
    		if(elements>array.length){
    			throw new ArrayIndexOutOfBoundsException();
    		}
    		array[elements]=data;
    		elements++;
    	}
    	
    	/**
    	 * 在index处插入元素data
    	 */
    	public void insert(int index,long data){
    		if(index>=array.length||index<0){
    			throw new IndexOutOfBoundsException();
    		}
    		
    		if(elements>array.length-1){
    			throw new ArrayIndexOutOfBoundsException();
    		}
    		
    		for(int i=elements;i>=index;i--){
    			array[i+1]=array[i];
    		}
    		array[index]=data;
    		elements++;
    	}
    	
    	/**
    	 * 删除index处的元素
    	 * @param index
    	 */
    	public void delete(int index){
    		if(index>=array.length||index<0){
    			throw new IndexOutOfBoundsException();
    		}
    		for(int i=index;i<=elements;i++){
    			array[i]=array[i+1];
    		}
    		elements--;
    	}
    	
    	/**
    	 * 删除元素data
    	 * @param data
    	 */
    	public void delete(long data){
    		int addr=search(data);
    		if(addr==-1){
    			System.out.println(data+"不存在");
    		}else{
    			for(int i=addr;i<=elements;i++){
    				array[i]=array[i+1];
    			}
    			elements--;
    		}
    	}
    	
    	/**
    	 * 将index处的元素更新为newdata
    	 * @param index
    	 * @param newdata
    	 */
    	public void update(int index,long newdata){
    		if(index>=array.length||index<0){
    			throw new IndexOutOfBoundsException();
    		}
    		array[index]=newdata;
    	}
    	
    	/**
    	 * 查找index处的元素
    	 * @param index
    	 * @return
    	 */
    	public long search(int index){
    		if(index>=array.length||index<0){
    			throw new IndexOutOfBoundsException();
    		}
    		return array[index];
    	}
    	
    	public int search(long data){
    		int i;
    		for(i=0;i<=elements;i++){
    			if(array[i]==data){
    				return i;
    			}
    		}
    		return -1;
    	}
    	
    	/**
    	 * 打印数组中的类容
    	 */
    	public void display(){
    		System.out.print("[");
    		for(int i=0;i<elements-1;i++){
    			System.out.print(array[i]+",");
    		}
    		System.out.print(array[elements-1]);
    		System.out.println("]");
    	}
    }

  • 相关阅读:
    Mini440之uboot移植之源码分析board_init_f(二)
    Mini440之uboot移植之源码分析uboot重定位(三)
    Mini440之uboot移植之实践DM9000支持(八)
    Mini2440裸机开发之DM9000
    Mini440之uboot移植之源码分析命令解析(五)
    Mini440之uboot移植之实践NOR启动(六)
    Mini440之uboot移植之实践NOR FLASH支持(七)
    mysql调优和SQL优化
    linux man手册使用相关问题
    关于ca以及证书颁发的一些事
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4197734.html
Copyright © 2020-2023  润新知