본문 바로가기
728x90

Java 개발자 수업 강의노트95

선택 정렬 선택 정렬은 거품 정렬과 달리 배열 속에서 있는 가장 작은 수를 먼저 찾아내 0번째로 옮기고, 0번째의 값을 옮겨진 수가 있던 자리로 옮긴다. 그런 식으로 계속 비교해나가 정렬을 하는 방식. 8 7 9 4 10 5 => 배열을 선언 #화살표는 탐색의 시작점과 교환한 자리를 나타냄 4 7 9 8 10 5 ↑ ↑ =>가장 작은 수 4를 찾아 0번째와 교환 4 5 9 8 10 7 ↑ ↑ =>다음 작은 수 5를 찾아 1번째와 교환 4 5 7 8 10 9 ↑ ↑ =>다음 작은수 7을 찾아 2번째와 교환 4 5 7 8 10 9 ↑ =>3번째의 8보다 작은 수가 뒤에 없기에 그대로 둠 4 5 7 8 9 10 ↑ ↑ =>마지막 작은 수 9를 찾아 4번째와 교환함으로써 정렬 끝. **Tip 0번째에 4를 저장한 이후, .. 2012. 5. 1.
거품 정렬 거품 정렬은 정렬 알고리즘의 하나이다. 1. i번째 요소와 i+1번째 요소를 비교하여 i번째가 더 크면 두 수를 교환 2. 1의 배열의 마지막-1번째까지 반복 ex) 5 8 9 3 4 6 5와 8일 비교하여 앞이 크면 교환. 그런 식으로 계속해 비교와 교환을 반복해 나가면 3 4 5 6 8 9 의 결과값을 얻을 수 있다. 2012. 5. 1.
선택 정렬 public class Range2 { public static void main(String[] args) { // 선택정렬 //배열 및 변수 초기화 int[] arr = {8,7,9,4,10,5}; int temp; //작은 수가 있는 자리를 찾음 for(int cnt=0; cnt 2012. 5. 1.
거품 정렬 #거품 정렬을 이용해 배열에 저장된 데이터를 작은수부터 큰수로 정렬시킨다. public class Range1 { public static void main(String[] args) { // 거품 정렬 //배열 및 변수 초기화 int[] arr = {5,8,9,3,4,6}; int temp; /* //정렬 조건 설정1 for(int i=0; i0; j--){ if(arr[j-1]>arr[j]){ temp=arr[j-1]; arr[j-1]=arr[j]; arr[j]=temp; } } } */ //정렬 조건 설정2 for(int i=arr.length-2; i>=0; i--){ for(int j=0; jarr[j+1]){ temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } .. 2012. 5. 1.
순차 역순 증가가 함께 있는 2차 배열 (2) #if문을 사용하지 않고 순차와 역순 증가를 출력. 결과) 1 2 3 4 8 7 6 5 9 10 11 12 public class AprilTwentysix2 { public static void main(String[] args) { // int[][] arr = new int[3][4]; int num=1; int j=0; int sign=1; for(int i=0; i 2012. 5. 1.
간단 전화번호부 #간단하게 기본적으로 배운 배열과 제어문을 이용해 만든 일회성 전화번호부... DB와의 연동을 안했기에 당연히 종료를 하면 안에 있는 데이터는 전부 지워진다... package project; import java.util.Scanner; public class Telephone { public static void main(String[] args) { // 간단 전화번호부 //배열 및 변수 초기화 String[] names = new String[30]; int[] phones = new int[30]; int Position = 0; Scanner sc = new Scanner(System.in); Scanner nc = new Scanner(System.in); Scanner pc = new Sc.. 2012. 4. 30.
SMALL