자료형/참조형 배열 오름차순 내림차순 정렬

choijh·2022년 11월 1일

Java+Jsp

목록 보기
8/12

자료형 배열 정렬

	//선택 정렬
	int[] arr = {7, 3, 5, 1, 9, 8};
	for(int i=0; i<arr.length-1; i++){
		for(int j=i+1; j<arr.length; j++){
			int temp = arr[i]; 
			if(arr[i] > arr[j]){ // 내림차순 arr[i] < arr[j]
				arr[i] = arr[j];
				arr[j] = temp;
			}
		}
	}
	
	//디버깅
	for(int n : arr){
		System.out.print(n+" "); 
	}
    
결과 : 1 3 5 7 8 9

참조형 배열 정렬

public class Person {
	public int age;
	public String name;
	public String gender;
}
	Person[] db = new Person[6]; 
	db[0] = new Person();
	db[0].age = 28;
	db[0].name = "김나라";
	db[0].gender = "여자";
	
	db[1] = new Person();
	db[1].age = 26;
	db[1].name = "홍길동";
	db[1].gender = "남자";
	
	db[2] = new Person();
	db[2].age = 29;
	db[2].name = "이순신";
	db[2].gender = "남자";
    
    for(int i=0; i<db.length; i++){
		for(int j=0; j<db.length-i-1; j++){
			if(db[j].age > db[j+1].age){ //나이 기준 내림차순 db[j].age < db[j+1].age
				Person temp = db[j];
				db[j] = db[j+1];
				db[j+1] = temp;
			}
		}
	}
	//디버깅
	for(Person p : db){
		System.out.println(p.name + "님 " + p.age + "세 " + "성별 :" + p.gender);
	}
    
결과 : 
홍길동님 26세 성별 :남자
김나라님 28세 성별 :여자
이순신님 29세 성별 :남자    

0개의 댓글