>  기사  >  Java  >  Java 데이터 구조의 시퀀스 테이블을 조작하는 방법

Java 데이터 구조의 시퀀스 테이블을 조작하는 방법

王林
王林앞으로
2023-05-12 20:22:04808검색

    머리말

    선형 목록은 동일한 특성을 가진 n개의 데이터 요소로 구성된 유한 시퀀스입니다. 선형 테이블은 실제로 널리 사용되는 데이터 구조입니다. 일반적인 선형 테이블에는 시퀀스 목록, 연결 목록, 스택, 큐, 문자열 등이 포함됩니다. 선형 테이블은 논리적으로 선형 구조, 즉 연속적인 직선입니다. 그러나 물리적 구조가 반드시 연속적인 것은 아닙니다. 선형 테이블이 물리적으로 저장되는 경우 일반적으로 배열 및 연결된 구조의 형태로 저장됩니다.

    1. 시퀀스 테이블이란?

    시퀀스 테이블의 개념과 구조

    시퀀스 테이블은 연속된 물리적 주소를 갖는 저장 단위를 사용하여 데이터 요소를 순차적으로 저장하는 선형 구조입니다. 사용. 배열에서 데이터 추가, 삭제, 확인 및 수정을 완료합니다.

    실제로는 배열입니다. 그렇다면 왜 시퀀스 테이블을 작성해야 할까요? 그냥 배열을 사용하는 것이 더 낫지 않을까요? 차이점은 클래스에서 작성하는 것이 객체 지향적일 수 있다는 것입니다.

    Create Sequence Table

    Java 데이터 구조의 시퀀스 테이블을 조작하는 방법

    public class MyArrayList {
       public int[] elem;//数组
       public int usedSize;//数据的有效个数
     
       public MyArrayList(){
           this.elem = new int[10];
       }
    }

    Print Sequence Table

    Java 데이터 구조의 시퀀스 테이블을 조작하는 방법

    인쇄 결과:

    Java 데이터 구조의 시퀀스 테이블을 조작하는 방법

    usedsize에 값이 할당되지 않아 아무것도 인쇄되지 않습니다.

    시퀀스 테이블의 길이를 구하세요

    Java 데이터 구조의 시퀀스 테이블을 조작하는 방법

    pos 위치에 요소를 추가하세요

    시퀀스 테이블에 요소를 삽입할 때 삽입된 위치 앞에 요소를 저장해야 합니다.

    도면 분석:

    CODE는 다음과 같습니다. 결과:

    Java 데이터 구조의 시퀀스 테이블을 조작하는 방법

    pos 위치에서 요소 가져오기

    // 在 pos 位置新增元素
        public void add(int pos, int data) {
           if(pos < 0 || pos > usedSize){
               System.out.println("pos位置不合法");
               return;
           }
           if(isFull()){
               this.elem = Arrays.copyOf(this.elem,this.elem.length*2);
           }
            for (int i = this.usedSize-1; i >=pos ; i--) {
                this.elem[i+1] = this.elem[i];
            }
            this.elem[pos] = data;
            
            this.usedSize++;
            
        }
     
        public boolean isFull(){
           return this.usedSize == this.elem.length;
        }

    인쇄 결과:

    Java 데이터 구조의 시퀀스 테이블을 조작하는 방법

    pos 위치의 요소를 값으로 설정

    // 判定是否包含某个元素
        public boolean contains(int toFind) {
            for (int i = 0; i < this.usedSize; i++) {
                if (this.elem[i] == toFind) {
                    return true;
                }
            }
            return false;
        }

    인쇄 결과:

    Java 데이터 구조의 시퀀스 테이블을 조작하는 방법

    삭제하려는 요소를 삭제하세요

     // 查找某个元素对应的位置
        public int search(int toFind) {
            for (int i = 0; i <this.usedSize ; i++) {
                if(this.elem[i] == toFind){
                    return i;
                }
            }
           return -1; 
       }

    인쇄 결과:

    Java 데이터 구조의 시퀀스 테이블을 조작하는 방법

    위 내용은 Java 데이터 구조의 시퀀스 테이블을 조작하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제