ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • sort(정렬) 로직 몇가지
    개인공부 2023. 12. 1. 18:23

    🌈bubble sort(버블 정렬)

    💡자바
    void bubbleSort(int[] arr) {
        int temp = 0;
    	for(int i = 0; i < arr.length - 1; i++) {
    		for(int j= 1 ; j < arr.length-i; j++) {
    			if(arr[j]<arr[j-1]) {
    				temp = arr[j-1];
    				arr[j-1] = arr[j];
    				arr[j] = temp;
    			}
    		}
    	}
    	System.out.println(Arrays.toString(arr));
    }

     

    💡자바스크립트
    		var tmp;
    			for(var i=0 ; i<students.length ; i++){
    				students[i].avg = (students[i]["kor"] + students[i]["eng"] + students[i]["mat"])/3; 
    				//students[i]["avg"] = (students[i]["kor"] + students[i]["eng"] + students[i]["mat"])/3; 
    			}
    			for(var i = 0; i < students.length - 1; i++) {
    				for(var j= 1 ; j < students.length-i; j++) {
    					if(students[j]["avg"]<students[j-1]["avg"]) {
    						temp = students[j-1];
    						students[j-1] = students[j];
    						students[j] = temp;
    					}
    				}
    			}

    🌈 selection sort(선택 정렬)

    💡자바
    void selectionSort(int[] list) {
        int indexMin, temp;
    
        for (int i = 0; i < list.length - 1; i++) {
            indexMin = i;
            for (int j = i + 1; j < list.length; j++) {
                if (list[j] < list[indexMin]) {
                    indexMin = j;
                }
            }
            temp = list[indexMin];
            list[indexMin] = list[i];
            list[i] = temp;
        }
    }
    💡자바스크립트
    var tmp;
    	for(var i=0 ; i<students.length ; i++){
    		students[i].avg = (students[i]["kor"] + students[i]["eng"] + students[i]["mat"])/3; 
    		//students[i]["avg"] = (students[i]["kor"] + students[i]["eng"] + students[i]["mat"])/3; 
    	}
    	for(var i=0 ; i<students.length-1 ; i++){
    		for(var j=i+1 ; j<students.length ; j++){
    			if( students[i]["avg"]<students[j]["avg"] ){
    				tmp = students[i];
    				students[i] = students[j];
    				students[j] = tmp;
    			}
    		}
    	}

    🌈 insertion sort(삽입 정렬)

    💡자바
    void insertionSort(int[] arr){
    
    for(var index = 1 ; index < arr.length ; index++){
    
    var temp = arr[index];
    var aux = index - 1;
    
    while( (aux >= 0) && ( arr[aux] > temp ) ) {
    
             arr[aux + 1] = arr[aux];
             aux--;
          }
          arr[aux + 1] = temp;
       }
    }

     🌈quick sort(퀵 정렬)

    💡자바스크립트
    var quicksort = function(arr, left, right) {
    
        if (left < right) {
    
            //기준점을 찾고 기준점을 중심으로 더 작은수, 더 큰수 분류
            var i =  position(arr, left, right);
            //기준점 기준 좌측 정렬
            quicksort(arr, left, i - 1);
            //기준점 기준 우측 정렬
            quicksort(arr, i + 1, right);
        }
    
        return arr;
    };
    
    var position = function(arr, left, right) {
        var i = left;
        var j = right;
        var pivot = arr[left];
    
        //제자리 더 큰수/더 작은 수 좌우 배치.
        while (i < j) {
            while (arr[j] > pivot) j--;
            while (i < j && arr[i] <= pivot) i++;
    
            tmp = arr[i];
            arr[i] = arr[j];
            arr[j] = tmp;
        }
        arr[left] = arr[j];
        arr[j] = pivot;
    
        return j;
    }
Designed by Tistory.