순서 표 의 실현

2680 단어 순서 표Java
순서 표:물리 적 주소 로 연 속 된 저장 장치 로 데이터 요 소 를 순서대로 저장 하 는 선형 구조 입 니 다.그것 의 공간 은 연속 적 이다.다음은 배열 저장 형식 으로 순서 표(첨삭 검사 수정)를 실현 한다.
1.변 수 를 먼저 정의 하고 인쇄 순서 표를 실현 합 니 다.
    private int[] data = new int[10];
    private int size = 0; // size                

    public void display() {  //     
        System.out.print("["); //        
        for (int i = 0; i < size; i++) {
            System.out.print(data[i]);
            if(i != size - 1) {
                System.out.print(",");
            }
        }
        System.out.println("]");
    }

2.pos 위치 에 요소 추가
public void add(int pos, int elem) {    //elem       
        if(pos > data.length || pos < 0) { 
            return;
        }
        if(size > data.length) {  //    
            realloc();  //    
        }
        if(pos == size) {
            data[pos] = elem;
            size++;
        }
        else {
            for(int i = size; i > pos; i--) {
                data[i] = data[i - 1];
            }
            data[pos] = elem;
            size++;
        }
    }

용량 을 늘 리 는 방법:
public void realloc( ) { //     
        int[] newData = new int[this.data.length * 2];
        for(int i = 0; i < this.data.length; i++) {
            newData[i] = this.data[i];
        }
        this.data = newData;
    }

3.어떤 요소 가 포함 되 어 있 는 지 판단 하기
public boolean contains(int toFind) {
        for(int i = 0; i < this.size; i++) {
            if(this.data[i] == toFind) {
                return true;
            }
        }
        return false;
    }

4.어떤 요소 가 대응 하 는 위 치 를 찾 습 니 다.
public int search(int toFind) {
    for(int i = 0; i < this.size; i++) {
        if(this.data[i] == toFind) {
            return i;
        }
    }
    return -1;
}

5.pos 위치의 요소 가 져 오기
public int getPos(int pos) {
    return  this.data[pos];
}

6.pos 위치 요 소 를 value 로 설정
public void setPos(int pos, int value) {
    this.data[pos] = value;
}

7.처음 나 오 는 키워드 삭제
public void remove(int toRemove) {
    int pos = search(toRemove);//        
    if(pos == -1){
        return;
    }
    if(pos == this.size - 1) {
        this.size--;
        return;
    }
    for (int i = pos; i < this.size; i++) {
        this.data[i - 1] = this.data[i];
    }
    this.size--;
}

8.순서 표 길이 가 져 오기
public int size() {
    return this.size;
}

9.순서 표 비우 기
public void clear() {
    this.size = 0;
    this.data = new int[10];
}

좋은 웹페이지 즐겨찾기