순서 배열

질서 있 는 배열 은 2 분 검색 알고리즘 을 사용 하여 검색 속도 가 무질서 한 배열 보다 빠 르 고 데 이 터 를 삽입 하 는 것 이 무질서 한 배열 보다 느 리 며 데이터 의 질서 와 무질서 한 배열 을 삭제 하 는 것 이 느 립 니 다.
package datastructure.c1.array.ordarray;

public class OrdArray {
	private long[] a;
	private int nElems;
	
	public OrdArray(int max){
		a=new long[max];
		nElems=0;
	}
	
	public int size(){
		return nElems;
	}
	
	public int find(long searchKey){
		int lowerBound=0;
		int upperBound=nElems-1;
		int curIn;
		while(true){
			curIn=(lowerBound+upperBound)/2;
			if(a[curIn]==searchKey){
				return curIn;
			}else if(lowerBound>upperBound){
				return nElems;
			}else{
				if(a[curIn]value){
				break;
			}
		}
		for(int k=nElems;k>j;k--){
			a[k]=a[k-1];
		}
		a[j]=value;
		nElems++;
	}//end insert
	
	public boolean delete(long value){
		int j=find(value);
		if(j==nElems){
			return false;
		}else{
			for(int k=j;k
package datastructure.c1.array.ordarray;

public class OrderApp {
	public static void main(String[] args) {
		int maxSize=100;
		OrdArray arr;
		arr=new OrdArray(maxSize);
		arr.insert(77);
		arr.insert(99);
		arr.insert(44);
		arr.insert(55);
		arr.insert(22);
		arr.insert(88);
		arr.insert(11);
		arr.insert(00);
		arr.insert(66);
		arr.insert(33);
		
		int searchKey=55;
		if(arr.find(searchKey)!=arr.size()){
			System.out.println("Found "+searchKey);
		}else{
			System.out.println("Can't find "+searchKey);
		}
		
		arr.display();
		
		arr.delete(00);
		arr.delete(55);
		arr.delete(99);
		
		arr.display();
	}//end main
}

좋은 웹페이지 즐겨찾기