javaプログラミングの基礎の行列

2556 ワード

最も一般的なデータ記憶構造は配列であり、配列検索が便利であるが、削除が面倒で、挿入が面倒で、サイズが固定されている.必要な配列の長さが変わる場合があります.この場合は配列行列を使います.
            配列行列の本質はやはり配列であり、配列の動的な添削を一つのクラスにカプセル化するだけで、添削の本質はまだ二つの配列の間のコピーである.
          下のコードは、行列の増加、削除、変更、検索を実現します.
package array;

public class test1 {
	 private Object[] array;
	 private int length;
	 
	 public int size(){
		 return length;
	 }
	 //      
	 public void create(){
		 array=new Object[10];
		 for(int i=0;i<10;i++){
			 array[i]=i;
			 length++;
		 }
	 }
	//        
	 public void add(Object data){
		 Object []array1=new Object[length+1];
		 for(int i=0;i<length;i++){
			 array1[i]=array[i];
		 }
		 array1[length]=data;
		 array=array1;
		 length++;
	 }
	 //        
	 public void insert(int index ,Object data){
		 if(index>=0&&index<length){
			 Object []array1=new Object[length+1];
			 for(int i=0;i<index;i++){
				 array1[i]=array[i];
			 }
			 array1[index]=data;
			 for(int j=index+1;j<length;j++)
			 {
				 array1[j]=array[j-1];
			 }
			 array=array1;
		 }
		 else
		 {
			 System.out.println(" error");
		 }
	 }
	 //        
	 public void delData(Object data){
		 Object []array1=new Object[length-1];
		 int k=0;
		 for(int i=0;i<length;i++){
			 if(array[i]==data){	 
			 }
			 else
			 {
				 array1[k]=array[i];
				 k++;
			 }
		 }
		 length--;
		 array=array1;
	 }
	 //        
	 public void delIndex(int index){
		 if(index>=0&&index<length)
		 {
			 Object []array1=new Object[length-1];
			 for(int i=0;i<index;i++)
			 {
				 array1[i]=array[i];
			 }
			 for(int j=index+1;j<length;j++)
			 {
				 array1[j-1]=array[j];
			 }
			 length--;
			 array=array1;
		 }
		 else
		 {
			System.out.println("error"); 
		 }
		 
	 }
	 //    
	 public void travel(){
		 for(int i=0;i<length;i++){
			 System.out.println(array[i]);
		 }
	 }
	public static void main(String[] args) {
			test1 test=new test1();
			test.create();
			test.delData(3);
			test.insert(0, 100);
			test.delIndex(8);
			test.travel();
	}

}