Programming/Java
swap과 정렬 알고리즘
mj73
2021. 7. 5. 15:11
1. swap
//a, b, temp는 모두 int형 변수이다.
if(a>b){
int temp = a;
a = b;
b = temp;
}
2. 정렬 알고리즘
import java.util.Scanner;
public class BubbleSort{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
//개수를 입력받아서 저장
int [] data = new int [n];
for(int i=n-1; i>0; i++){
for(int j=0;j<i;j++){
if(data[j] > data[j+1]){
int temp = data[j];
data[j] = data[j+1];
data[j+1] = temp;
}
}
}
System.out.println("정렬: ");
for(int i=0; i<n; i++){
System.out.println(data[i]);
}
}
}
3. 정수를 입력받을 때마다 배열에 정렬시키게 한다
import java.util.Scanner;
public class SortEx{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in){
int n = scanner.nextInt();
int[] data = new int [n]; //개수부터 입력받고 배열 생성
for(int i=0; i<n; i++){ //배열의 개수만큼 반복
int temp = scanner.nextInt();
//추가된 정수를 temp에 저장
//배열의 뒤에서부터 temp와 비교함
int j = i-1;
while(data[j]>temp){
data[j+1]= data[j]; //j번지에 있던 정수를 j+1로 이동(= 뒤로 이동)
j--;
}
data[j+1] = temp; //data[j]값이 temp보다 작은 경우에 그 오른쪽에 저장
//정렬된 값들 출력
for(int k=0; k<=i; k++)
System.out.print(data[k] + " "); //줄 바꿈 없이
System.out.println(); //줄바꿈
}
scanner.close();
}
}