Sequential Search

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#define MAX 10

int main(void) {
	int a, b;
	int u, d;
	int UP[MAX], DN[MAX];

	printf("첫째줄 입력 데이터 수 : ");
	scanf("%d", &u);
	printf("첫째줄 데이터 %d개 입력", u);
	for (a = 0; a < u; a++) {
		scanf("%d", &UP[a]);
	}

	printf("둘째줄 입력 데이터 수 : ");
	scanf("%d", &d);
	printf("둘째줄 데이터 %d개 입력", d);
	for (b = 0; b < d; b++) {
		scanf("%d", &DN[b]);
	}

	for (b = 0; b < d; b++) {
		for (a = 0; a < u; a++) {
			if (UP[a] == DN[b]) {
				printf(" %d 공통으로 있음 \\n", UP[a]);
			}
		}
	}
}

<aside> ➡️ 첫째줄 입력 데이터 수 : 5 첫째줄 데이터 5개 입력 4 1 5 2 3 둘째줄 입력 데이터 수 : 5 둘째줄 데이터 5개 입력 1 3 7 9 5 1 공통으로 있음 3 공통으로 있음 5 공통으로 있음

</aside>

Binary Search

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int BinarySearch(int arg[], int start, int end, int num) {
	int mid = (start + end) / 2;		// 배열의 중앙을 계산

	printf("start %d mid %d end %d\\n", start, mid, end);

	if (start > end) {
		printf("값을 찾지 못했습니다.");
		return -1;
	}
	else if (arg[mid] == num) {
		printf("값을 찾았습니다.");
		return mid;
	}
	else if (arg[mid] > num) {
		BinarySearch(arg, start, mid - 1, num);
	}
	else {
		BinarySearch(arg, mid+1, end, num);
	}

}

int main() {
	int arr[7] = { 1, 2, 8, 9, 11, 19, 29 };

	BinarySearch(arr, 0, 7, 2);
}

<aside> ➡️ start 0 mid 3 end 7 start 0 mid 1 end 2 값을 찾았습니다.

</aside>