U E D R , A S I H C RSS

새싹교실/2017/따라와반/과제방/자료구조/2회차 (rev. 1.1)

새싹교실/2017/따라와반/과제방/자료구조/2회차

오늘의 실습 내용

신원준

수 정렬하기

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char* argv[]) {
	int n, i, j, minj, temp;
	int *arr;
	
	scanf("%d", &n);
	arr = (int *)malloc(sizeof(int) * n);

	for(i=0; i<n; i++) scanf("%d", arr + i);
	for(i=0; i<n; i++) {
		minj = i;

		for(j=i+1; j<n; j++) {
			if(arr[j] < arr[minj]) {
				minj = j;
			}
		}
		temp = arr[minj];
		arr[minj] = arr[i];
		arr[i] = temp;

		printf("%d\n", arr[i]);
	}

	return 0;
}

수 찾기

#include <stdio.h>
#include <stdlib.h>

// 오름차순 정렬
int compare (const void *first, const void *second)
{
    if (*(int*)first > *(int*)second)
        return 1;
    else if (*(int*)first < *(int*)second)
        return -1;
    else 
        return 0;
}

int main(int argc, char* argv[]) {
	int n1, n2, i;
	int *arr1, *arr2;

	int B_S(int *arr, int size, int solution);
	
	scanf("%d", &n1);
	arr1 = (int *)malloc(sizeof(int) * n1);

	for(i=0; i<n1; i++) scanf("%d", &arr1[i]);

	// 정렬
	qsort(arr1, n1, sizeof(int), compare);

	scanf("%d", &n2);
	arr2 = (int *)malloc(sizeof(int) * n2);

	for(i=0; i<n2; i++) scanf("%d", &arr2[i]);

	// 서치
	for(i=0; i<n2; i++) {
		printf("%d\n", B_S(arr1, n1, arr2[i]));
	}
	return 0;
}

// 바이너리 서치
int B_S(int *arr, int size, int solution) {
	int s=0, e=size-1;
	int m;

	while(s <= e) {
		m = (s+e)/2;

		if(arr[m] > solution) e = m - 1;
		else if(arr[m] < solution) s = m + 1;
		else return 1;
	}
	return 0;


}


이민욱

수 정렬하기

#include <stdio.h>
int main() {
	int N;
	int A[2000];
	scanf("%d", &N);
	for (int i = 0; i < N; i++) {
		scanf("%d", &A[i]);
	}
	for (int i = 0; i < N; i++) {
		for (int j = i; j < N; j++) {
			if (A[i] > A[j]) {
				int tmp = A[i];
				A[i] = A[j];
				A[j] = tmp;
			}
		}
	}
	for (int i = 0; i < N; i++) {
		printf("%d\n", A[i]);
	}
	return 0;
}

수 찾기

(코드는 여기에)

정석우

수 정렬하기

(코드는 여기에)

수 찾기

(코드는 여기에)
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:30:08
Processing time 0.0158 sec