数据结构与算法之java实现数组

直接上代码: 

package com.data.array;

import jdk.nashorn.internal.runtime.arrays.ArrayData;

public class Array {
//定义一个数组用来存储int数据
private int arrayData[];
//数组长度
private int len;
//实际个数
private int count;

//构造方法定义数组大小
public Array (int capacity){
	this.arrayData = new int[capacity];
	this.len = capacity;
	this.count = 0;//初始时没有为0	
}

//根据索引,找到数据中的元素并返回
public int find(int index){
	if(index<0 || index>=count){
		return -1;
	}else{
		return arrayData[index];
	}
}

//插入元素:头部插入,尾部插入
public boolean insert(int index,int value){
	System.out.println("index0:"+index);
	System.out.println("count:"+count);
	//数组中无元素
	if(count==0&&index==count){
		arrayData[index]=value;
		++count;
		return true;
	}
	
	//数组空间已满
	if(count==len){
		System.out.println("数组空间已满无法插入");
		return false;
	}
	
	//插入位置不合法
	if(index>count||index<0){
		System.out.println("插入位置不合法");
		return false;
	}
	
	for(int i=count;i>index;--i){
		System.out.println("i:"+i);
		arrayData[i] = arrayData[i-1];
	}
	System.out.println("index:"+index);
	arrayData[index] = value;
	++count;
	return true;
	
}

//根据索引,删除数组中元素
public boolean delete(int index){
    if (index<0 || index >=count) return false;
    //从删除位置开始,将后面的元素向前移动一位
    for (int i=index+1; i

 

 

你可能感兴趣的:(数据结构与算法)