2차원배열
앞서 설명했던 배열의 확장판으로 생각하면 이해하기 쉽다. 이차원 배열또한 배열인데, 본래 C는 다차원 배열을 지원하지 않는다.하지만, 배열들을 묶은 배열이라고생각하면 편하다. 위 그림과 같이 말이다. 이또한 첨자연산이 가능한데, arr[0][0]은 이차원 배열 arr의 첫번째 줄의 첫번째 요소를,arr[0][1]은 이차원 배열 arr의 첫번째 줄의 두번째 요소를, arr[0][2]은 이차원 배열 arr의 첫번째 줄의 세번째 요소를 나타낸다.이런식으로 생각하면 이해가 편하다. 다음과 같이 초기화가 가능하다. int arr[2][3] = {1, 2, 3}, {4, 5, 6}; 또한 for문으로 i 와 j 를 이용하여 접근할 수 있다.
2016. 3. 28.
이진탐색
이진탐색이란 절반씩 나누어 검색하는 분할탐색 알고리즘을 말한다. 순차탐색보다 빠르며, 이진탐색을 하기 위해서는, 오름차순이나 내림차순으로 정렬된 배열이 필요하다. 이를 간단한 예제로 구현하면 다음과 같다.12345678910111213141516171819202122232425262728293031#include int main(void){ int key; int low=0, high, mid; int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; scanf("%d", &key); high = sizeof(arr) / 4; while (low 중앙값 이라면, 탐색범위의 처음인 low 가 mid+1 로 탐색 범위를 줄이고,그 반대라면 탐색범위의 끝인 high 가 mid-1로..
2016. 3. 28.