데이터 구조 (자바 버 전) 학습 노트 (2) - 선형 표 의 순서 표

10303 단어
순서 표 의 장점:
  • 무 작위 액세스 요소 가 편리 하고 포 지 셔 닝 공식 에 따라 표 에 있 는 모든 요소 의 저장 위 치 를 확정 하기 쉬 우 므 로 i 번 째 노드 를 지정 하 는 것 이 편리 하 다
  • 간단 하고 직관 적
  • 순서 표 의 단점:
  • 노드 삽입 및 삭제 어려움
  • 확장 이 원활 하지 않 아 분배 공간 을 확정 하기 어렵다
  • 낭비 하기 쉽다
  • 순서 표 의 실현:
    여기 서 간단하게 말씀 드 리 겠 습 니 다. Sqlist 류 는 ListIntf 인 터 페 이 스 를 실 현 했 습 니 다. 즉, 우리 가 지난 절 에서 언급 한 인 터 페 이 스 를 실현 한 후에 eclipse 에서 ListIntf 를 복사 하 는 방법 을 알려 줄 것 입 니 다. 우 리 는 순서 표 의 특징 에 따라 하나씩 복사 하면 됩 니 다.
    자세 한 내용 은 주석 을 보 세 요 ~
    PS: 모든 인자 i 는 번호 입 니 다. 1 부터 시작 합 니 다.
    import java.util.Scanner;
    
    
    public class SqList implements ListIntf{
        final int maxlen = 1000; //               
        String v[] = new String[maxlen];
        int len =0;//len   ,1  ,    
        /**
         * 
         * @return                  
         */
        int getmaxlen(){
            return maxlen;
        }
        public SqList(){
            //                
            Scanner sc = new Scanner(System.in);
            int n;
            String[] a = new String[maxlen];
            System.out.println("          :");
            n=sc.nextInt();
            sc.close();
            for(int i=0;i){
                a[i] = "a"+i;//a[0]     a0,a[1]    a1,    ……
                
            }
            setData(a);
        }
        /**
         *  String  a   String  v
         * @param String  
         */
        
        public void setData(String[] a){
            v = a;
        }
        @Override
        public int size() {
            return len;
        }
    
        @Override
        public void clear() {
            v = new String[maxlen];
        }
    
        @Override
        public boolean isEmpty() {
            return len==0;
        }
    
        @Override
        public String get(int i) {
            return v[i-1];
        }
    
        @Override
        public int indexOf(String s) {
            int i;
            for(i=0;i){
                if(v[i].equals(s)){
                    return i+1;
                }
            }
            System.out.println("          !!");
            return 0;
        }
    
        @Override
        public String getPre(String s) {
            //      ,       ,       
            return null;
        }
    
        @Override
        public String getNext(String s) {
            //      ,       ,       
            return null;
        }
    
        @Override
        public void insertElementAt(String s, int i) {
            //           ,    i    ,         
            if(len==maxlen){
                System.out.println("     !");
                return;//
            }else{
                if(i<1||i>len){
                    System.out.println("        !");
                    return;
                }else{
                    for(int j=len-1;j>=i-1;j--){
                        v[j+1]=v[j];
                    }
                    v[i-1] =s;  
                    len++;
                    return;
                }
            }
        }
    
        @Override
        public String remove(int i) {
    String string;
    if(i<1||i>len){ System.out.println(" !"); return null; }else{ string = v[i-1]; for(int j=i-1;j){ v[j-1] = v[j]; } len--; return string; } } @Override public String remove(String s) { // TODO Auto-generated method stub String string; for(int i=0;i){ if(v[i].equals(s)){ string = v[i]; remove(i+1);// i ( ), ( ) 1 return string; } } System.err.println(" "); return null; } }

    좋은 웹페이지 즐겨찾기