선택정렬 구현

Jmnote (토론 | 기여)님의 2018년 8월 26일 (일) 13:14 판 (→‎C)

1 C

#include <stdio.h>
#define ARRAYSIZE(A) sizeof(A) / sizeof((A)[0])
void selection_sort(int a[], int size) {
    int i, j, minidx, temp;
    for(i=0; i<size; i++) {
        minidx = i;
        for (j=i+1; j<size; j++) {
            if (a[minidx] > a[j]) minidx = j;
        }
        temp=a[minidx]; a[minidx]=a[i]; a[i]=temp;
    }
}
int main() {
	int arr[] = {9,1,22,4,0,-1,1,22,100,10};
	int size = ARRAYSIZE(arr);
	selection_sort(arr, size);
	for(int i=0; i<size; i++) printf("%d ", arr[i]);
	// -1 0 1 1 4 9 10 22 22 100 
}

2 C++

#include <iostream>
using namespace std;
void selection_sort(int arr[], int size) {
    int i, j, minidx, temp;
    for(i=0; i<size; i++) {
        minidx = i;
        for(j=i+1; j<size; j++) {
            if(arr[minidx] > arr[j]) minidx = j;
        }
        temp=arr[minidx]; arr[minidx]=arr[i]; arr[i]=temp;
    }
}
int main() {
	int arr[] = {9,1,22,4,0,-1,1,22,100,10};
	int size = sizeof(arr)/sizeof(int);
	selection_sort(arr, size);
	for(int i=0; i<size; i++) cout << arr[i] << " ";
	// -1 0 1 1 4 9 10 22 22 100 
}

3 Java

public class MyClass {
    static void selection_sort(int arr[]) {
        int i, j, minidx, temp, size = arr.length;
        for(i=0; i<size; i++) {
            minidx = i;
            for(j=i+1; j<size; j++) {
                if (arr[minidx] > arr[j]) minidx = j;
            }
            temp=arr[minidx]; arr[minidx]=arr[i]; arr[i]=temp;
        }
    }
    public static void main(String[] args) {
        int[] arr = {9,1,22,4,0,-1,1,22,100,10};
        selection_sort(arr);
        for(int x:arr) System.out.format( "%d ", x );
        // -1 0 1 1 4 9 10 22 22 100 
    }
}

4 같이 보기

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}