본문 바로가기

분류 전체보기142

선택 정렬(Selection sort)알고리즘 - c언어 예제 선택 정렬(Selection sort) 선택 정렬은 배열의 제일 작은 숫자를 찾아 n번째 자리와 교환하는 알고리즘이다. 시간 복잡도는 O(n²)이다. 제일 첫번째 숫자를 min으로 지정한 뒤 제일 작은 값을 찾아 min으로 지정해 min위치의 값과 첫번째 값을 교환한다. 이런식으로 비교를 하여 앞에서 부터 정렬을 완료하며 n-1번째 회전에는 마지막 값은 정렬된것으로 간주하여 마무리한다. 이 알고리즘의 단점으로는 정렬을 이미 완료하였더라도 n-1번 돈다는 것이다. 예제소스 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 #include #define n 6 .. 2019. 3. 25.
자바 소켓 프로그래밍 - 동시 채팅프로그램 예제 소켓이란? 이용하여 두 프로그램이 네트워크를 통해 서로 통신을 수행할 수 있도록 양쪽에 생성되는 단자이다.(TCP) 소켓 통신 과정 예제소스 설명 이 예제에서는 데이터를 한번씩이 아닌 여러번씩 주고 받기 위하여 쓰레드를 사용하였다. 서버의 경우에는 소켓으로부터 연결요청을 들어오면 데이터를 받아오는 Input쓰레드와 데이터를 보내는 Ouput쓰레드를 사용하였고, 클라이언트는 데이터를 보내는 Output쓰레드를 사용하였다. 서버가 클라이언트에게 exit를 보내게 되면, 클라이언트는 Output쓰레드를 정지시키고 소켓을 닫는다. 반대로, 클라이언트가 서버에게 exit를 보내게 되면, 서버는 Output쓰레드와 Input쓰레드를 정지시키고 소켓을 닫는다. 서버 소스 1 2 3 4 5 6 7 8 9 10 11 1.. 2019. 3. 22.
버블정렬 알고리즘 (c언어 예제) 버블 정렬(Bubble Sort) 버블 정렬이란 서로 인접한 두 수를 비교하여 정렬하는 알고리즘으로, n번째 수와 n+1번째 수를 비교하여 n번째 수가 더 클 경우 n+1번째 수와 교환하는 방법이다. 뒤부터 정렬되는 알고리즘으로, 다른 알고리즘들과 달리 flag를 사용하여 이미 정렬을 완료하였다면 멈출 수 있다. 시간 복잡도는 O(n²)로 상당히 느리지만, 코드가 단순하기 때문에 자주 사용된다. 수는 총 5개이므로 4번을 돌아야 하지만, flag를 사용하여 3회전 만에 정렬을 끝낼 수 있다. 처음 주어진 수에서 첫 번째와 두 번째, 두 번째와 세 번째, 세 번째와 네 번째, 네 번째와 다섯 번째 수를 비교하여 맨 뒤부터 정렬되는 것을 볼 수 있다. c언어 예제소스 1 2 3 4 5 6 7 8 9 10 1.. 2019. 3. 18.
JavaFX :: Scene Builder 사용하기 JavaFX :: Scene Builder 설치 https://ming9mon.tistory.com/51 Scene Builder 사용 하기 1. JavaFX 프로젝트를 생성한다. (Java프로젝트 X) 2. 프로젝트 이름을 입력하고 Next -> Next 3. Language를 FXML로 변경해주고 File Name을 입력해 준다. 4. fxml파일을 우클릭 후 Open with SceneBuilder을 누르면 된다. 6. 자신이 필요로 하는걸 끌어다가 디자인 하면 된다. 2019. 3. 15.