자바 배열 및 두 가지 간단 한 정렬 알고리즘

2213 단어 자바알고리즘
배열 의 사용 에 대해 우 리 는 사례 화 와 초기 화 를 통 해 실례 화 하 는 방법 이 다양 하고 자주 사용 하 는 몇 가지 방법 을 파악 하면 된다.다음은 1 차원 배열 의 실례 화 대상 을 몇 개 준다.
데이터 형식 [ ] 배열 이름=new 데이터 형식[길이];
배열 이름=new 데이터 형식[길이];
배열 이름=new 배열 형식[]{값,...};
자바 배열 은 실례 화 과정 에서 배열 요소 에 초기 값 을 부여 합 니 다.int 의 초기 값 은 0 이 고 string 의 초기 값 은 null 입 니 다.자신 이 정의 하 는 클래스 라면 초기 값 은 null 입 니 다.배열 의 방법 은 length 만 있 고 다른 방법 은 없습니다.자바 에 서 는 주 소 를 직접 조작 할 수 없 지만 배열 이름 이 하나의 주 소 를 대표 하 는 것 을 부인 할 수 없습니다.그래서 우리 가 인삼 을 전달 할 때 배열 의 이름 을 직접 전달 할 수 있 지만 이것 은 이 배열 을 조작 하 는 것 이다.사용 할 때 주의해 야 한다.2 차원 배열 은 사실은 이중 1 차원 배열 이다.사실은 하나의 행렬 이 라 고 볼 수 있 고 각 줄 이나 각 열 은 1 차원 배열 로 할 수 있다.
배열 은 메모리 에서 선형 으로 연속 적 인 저장 공간 입 니 다.바이트 단위 로 2 차원 배열 은 메모리 에 한 줄 한 줄 로 저 장 됩 니 다.이 C 언어 는 똑 같 습 니 다.상기 한 바 에 의 하면 배열 의 크기 는 예화 할 때 이미 고정 되 었 기 때문에 컴 파일 한 후에 배열 의 크기 를 입력 할 수 없습니다.컴 파일 이 통 과 될 수도 없 기 때문에 잘못된 보고 가 있 을 것 입 니 다.또한 배열 을 조작 하 는 과정 에서 한 배열 의 크로스 오 버 문 제 를 항상 주의해 야 한다.Array Index Outof Bounds Exception 을 던 지면 배열 의 크로스 오 버 를 대표 하 는데 이것 은 심각 하고 눈치 채 기 어 려 운 문제 이 므 로 사용 할 때 더욱 주의해 야 한다.
다음은 몇 가지 간단 한 배열 정렬 알고리즘 을 소개 한다.
  •  거품 이 일다 거품 정렬 의 사상 은 매번 순환 적 으로 배열 을 옮 길 때마다 가장 작은 것 을 찾 아 맨 앞 에 놓 는 것 이다.첫 번 째 는 data[0]를 꺼 내 서 뒤의 숫자 와 비교 하 는 것 이다.만약 에 뒤의 숫자 가 data[0]보다 적 으 면 두 개의 숫자 를 교환 하고 data[0]와 뒤의 두 번 째 숫자 로 비교 하 는 것 이다.작 거나 같 으 면 움 직 이지 않 고 마지막 숫자 까지 계속 뒤로 비교 하 는 것 이다.이것 은 가장 작은 수 를 찾 은 다음 에 data[1]에서 두 번 째 순환 을 해서 data.length-1 번 까지 합 니 다

  • 빠 른 정렬
    public class Sort {
     public void sort(int[] data){ //      ,          
      int temp;
      for(int i=0;i<data.length;i++){ //  ,  :
       for(int j=data.length-1;j>i;j--){
        if(data[i]<data[j]){ //      n ,  data[i]>data[j]  ,      
         temp =data[i];
         data[i] = data[j];
         data[j] = temp;
        }
        
        for(int q=0;q<data.length;q++){
         System.out.print(data[q]+" "); //           
        }
        System.out.println(); //  
       }
      }
     }
     빠 른 정렬 은 거품 정렬 에 대한 개선 이다.그의 기본 사상 은 누 워 서 정렬 할 데 이 터 를 독립 된 두 부분 으로 나 누 는 것 이다.그 중에서 일부분 의 모든 데 이 터 는 다른 일부분 의 모든 데이터 보다 작다.그 다음 에 다음 과 같은 방법 으로 이 두 부분의 데 이 터 를 각각 신속하게 정렬 하고 전체 정렬 과정 은 재 귀적 으로 진행 하여 전체 데 이 터 를 질서 있 는 서열 로 바 꿀 수 있다.

    좋은 웹페이지 즐겨찾기