컴퓨터공학/C언어
C언어 11 - 2 배열과 함수
Arkeiyou
2021. 11. 14. 17:39
용어체크
1. 정렬
(Sorting)
- 물건을 크기순으로 나열하는 것
- 컴퓨터 공학분야에서 가장 기본적이고 중요한 알고리즘 중의 하나
- 자료 탐색에 있어서 필수적
- 오름차순(Ascending order)/내림차순(Descending order)
2. 탐색
(Search)
- 많은 시간이 요구되는 작업
- 효율적으로 수행하는 것이 매우 중요함
3. 이진 탐색
- 정렬된 배열의 중앙에 있는 값을 탐색키와 비교
- 탐색키가 중앙 원소의 값보다 작으면 앞부분에 있음
- 탐색키가 중앙 원소의 값보다 크면 뒷부분에 있음
학습내용
|
실생활에서 일어날 수 있는 이진 탐색의 예를 찾아보세요.
두 사람이 상대방이 생각하고 있는 숫자를 맞추는 게임이 이진 탐색의 예라고 할 수 있습니다. 예를 들어 상대방이 50을 생각하고, 맞추는 사람이 30을 말했을 때 그보다 크다고 알려주고, 다시 80을 말한다면 그보다 작다고 말하는 것입니다.
Quiz 01배열을 함수의 인수로 보내면 복사본이 전달된다.
- 1 O
- 2 X
정답 :2
해설 :배열을 함수의 인수로 보내면 원본이 전달된다.
Quiz 02배열을 함수의 인수로 전달할 때 원본 배열의 변경을 금지시키기 위한 키워드는 무엇인가?
- 1 break
- 2 continue
- 3 const
- 4 cast
정답 :3
해설 :배열을 함수의 인수로 전달할 때 원본 배열의 변경을 금지하기 위해서는 const를 매개 변수 앞에 붙인다.
Quiz 03배열 int n[5][6]은 총 몇 개의 요소를 가지는가?
학습정리
- 1 15개
- 2 56개
- 3 30개
- 4 6개
정답 :3
해설 :5X6=30, 총 30개의 요소를 가진다.
학습정리
1. 함수에서 배열 사용
- 배열을 함수로 전달할 경우 배열의 원본이 매개변수를 통해서 전달됨
- 배열 요소를 함수로 전달할 경우에는 원본이 아닌 복사본이 전달됨
- 배열이 함수의 매개 변수로 전달되는 경우 함수 안에서 배열 요소들의 값을 변경할 수 없도록 하기 위해서는 const 키워드를 사용함
2. 정렬과 탐색 프로그램
- 정렬(Sorting): 크기 순으로 나열하는 것
- 탐색(Search): 많은 시간이 요구되는 작업이므로 효율적으로 수행하는 것이 매우 중요
- 선택정렬은 두 개의 배열(비어있는 배열과 정렬되지 않은 배열)을 사용하여 가장 작은 숫자를 선택하여 왼쪽 배열로 이동하는 작업 반복하고, 정렬되지 않은 배열이 공백 상태가 될 때까지 반복
- 선택정렬의 또 다른 방법으로는 정렬이 안된 숫자들 중에서 최소값을 선택하여 배열의 첫 번째 요소와 교환하고, 첫 번째 요소를 제외한 나머지 원소들 중에서 반복
3. 2차원 배열
- 2차원 배열의 선언을 위해서는 2개의 대괄호를 이용하여 행(row)과 열(column)을 나타냄