기초 JAVA 7강 - 배열 심화

  • 석차구하기 : 점수를 비교해 작은 점수의 등수를 증가시키는 방식
  • 선택정렬 : 가장 작은 숫자를 찾아서 앞으로 보내는 방식
  • 버블정렬 : 바로 뒤의 숫자와 비교해서 큰 수를 뒤로 보내는 방식
  • 삽입정렬 : 두번째 숫자부터 앞의 숫자들과 비교해서 큰수는 뒤로 밀고 중간에 삽입하는 방식

석차구하기

    int[] rank = new int[arr.length];
	for(int i = 0; i < rank.length; i++){
		rank[i] = 1;
	}
	
	for(int i = 0; i < arr.length; i++){
		for(int j = 0; j < arr.length; j++){
			if(arr[i] < arr[j]){
				rank[i]++;
			}
		}
	}
	for(int i = 0; i < arr.length; i++){
		System.out.println(arr[i] + " : " + rank[i] + "등");
	}
	
	

	System.out.println(Arrays.toString(arr));

선택정렬

    for(int i = 0; i < arr.length - 1; i++){
		int min = i; //첫번째 값의 위치
		for(int j = i + 1; j < arr.length; j++){
			if(arr[j] < arr[min]){ //최소값의 위치 찾기
				min = j; //최소값의 위치 기억
			}
		}
		temp = arr[i];
		arr[i] = arr[min];
		arr[min] = temp; //i랑 최소값의 위치랑 바꿈
	}
	System.out.println(Arrays.toString(arr));

버블정렬

	for(int i = 0; i < arr.length; i++){
		boolean flag = false;
			for(int j = 0; j < arr.length - 1 -i; j++){
				if(arr[j] > arr[j+1]){
					int temp = arr[j];
					arr[j] = arr[j+1];
					arr[j+1] = temp;
					flag = true;
				}
			
		}
			if(flag == false){
				break;

과제 : //402호 전체 학생들 중 사용자가 입력한 숫자만큼 랜덤으로 학생을 뽑는 프로그램을 만들어주세요.
String[] students = { "강나영", "강동환", "강태영", "곽지훈", "김서윤"
, "김영훈", "김진석", "김충신", "박슬기", "박채린"
, "손영태", "손영흔", "안정연", "이선우", "이수보"
, "이주홍", "이중호", "임현정", "장유진", "정신애"
, "조수경", "조하영", "조혜민", "허민정", "박지은"};

좋은 웹페이지 즐겨찾기