버블 정렬은(Bubble Sort) 두 인접한 원소를 순차적으로 정렬하는 방법이고 2가지 순서가 있습니다.

1. 첫 번째 원소와 두 번째 원소를, 두 번째 원소와 세 번째 원소를 ... N-1번째 원소와 N번째 원소를 비교 합니다.

2. 1회전이 끝나면 가장 큰 원소가 맨 마지막으로 이동하기 때문에 다음 회전에서의 마지막은 N-2 원소와 N-1 원소가 됩니다.

 

아래는 위의 순서에 맞게 실행한 예제입니다.

- 배열에 저장되는 값은 [3, 6, 0, 9, 1] 입니다.

Sequence Table Values Result
1 [3, 6, 0, 9, 1]  6<->0 [3, 0, 6, 9, 1]
1 [3, 0, 6, 9, 1] 9<->1 [3, 0, 6, 1, 9]
2 [3, 0, 6, 1, 9] 3<->0 [0, 3, 6, 1, 9]
3 [0, 3, 6, 1, 9] 6<->1 [0, 3, 1, 6, 9]
4 [0, 3, 1, 6, 9] 3<->1 [0, 1, 3, 6, 9]

 

 

 

아래는 선택 정렬을 구현한 자바 예제입니다.

 


package algorithm;

import java.util.Arrays;

public class BubbleSort {

	public static void main(String[] args) {
		int[] a = { 3, 6, 0, 9, 1 };
		int[] sorted_a = bubbleSort(a);

		System.out.print(Arrays.toString(a));
	}

	public static int[] bubbleSort(int[] a) {
		int i, j, temp;
		for (i = a.length - 1; i > 0; i--) {
			for (j = 0; j < i; j++) {
				if (a[j] > a[j + 1]) {
					temp = a[j];
					a[j] = a[j + 1];
					a[j + 1] = temp;
				}
			}
		}
		return a;
	}

}

선택 정렬(Selection Sort)는 제자리 정렬의 알고리즘이며 3가지 순서가 있습니다.

1. 주어진 배열 값들 중에서 최소값을 찾습니다.

2. 그 최소값을 실행 순서의 값과 교체를 합니다.

3. 그렇게 첫 번째, 두 번째...마지막 -1회 까지 1, 2번 과정을 진행 합니다.

 

아래는 위의 순서에 맞게 실행한 예제입니다.

- 배열에 저장되는 값은 [3, 6, 0, 9, 1] 입니다.

Sequence Table Minimum Value
1 [3, 6, 0, 9, 1] 0
2 [0, 6, 3, 9, 1] 1
3 [0, 1, 3, 9, 6] 6
4 [0, 1, 3, 6, 9] -

 

 

아래는 선택 정렬을 구현한 자바 예제입니다.

package algorithm;

public class SelectionSort {

	public static void main(String[] args) {
		int[] a = { 3, 6, 0, 9, 1 };
		int[] sorted_a = selectionSort(a);
		System.out.print(Arrays.toString(a)
	}

	public static int[] selectionSort(int[] a) {
		int i, j;
		int temp;
		for (i = 0; i <= a.length - 1; i++) {
			for (j = 0; j <= a.length - 1; j++) {
				if (a[i] < a[j]) {
					temp = a[i];
					a[i] = a[j];
					a[j] = temp;
				}
			}
		}
		return a;
	}

}


 

스프링 프로젝트에서 설정을 좀 하면 Servlet 사용하기가 너무 쉬워서 Dynamic Web Project로 Servlet을 못 만드는 상황을 보게 되었습니다. 그래서 간단한 예제를 작성 해봤습니다.

 

 

 

1. Dynamic Web Project를 생성 해주세요. 상단 탭의 'File -> New -> Others' 

 

 

 

2. 프로젝트 이름 입력 및 런타임 서버를 설정 해주세요. 저는 Wildfly 를 사용 하겠습니다.

 

 

 

3 Servlet 클래스를 생성 합니다.상단 탭의 'File -> New -> Others' 

  그림3-2 처럼 정보를 입력한 후 그림3-3처럼 자동 생성될 메소드(doGet)를 선택 해주세요.

 선그림 3-1
그림 3-2
그림 3-3

 

 

4. 클래스를 생성하면 아래와 같이 자동으로 doGet 메소드가 생성됩니다.

package com.demo;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class Hello
 */
@WebServlet("/Hello")
public class Hello extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Hello() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.getWriter().append("Served at: ").append(request.getContextPath());
	}
}

 

 

 

 

5. Wildfly 서버를 실행 시키고 http://localhost:8080/{Project name}/{WebServlet Mapping name}접속 하시면

그림 5-2처럼 메세지가 보여집니다.

그림 5-1

 

그림 5-2

+ Recent posts