[C] 알고리즘 : 최대 값 찾기

less than 1 minute read

배열 내에 최대 값을 찾기 위해서는 최대 값을 바로 찾거나, 배열 최대 값이 위치한 인덱스를 반환하면 된다. 최대 값이 위치한 인덱스를 알면 배열 내 최대 값에 접근 가능하기 때문에 대부분의 경우에는 인덱스를 찾는 알고리즘을 구현한다. 간단한 알고리즘은 for 문 내에서 순환하는 임의의 인덱스 i 가 배열 전역을 탐색하면서 큰 값을 발견하면 그때의 인덱스를 max_id 와 같은 변수에 갱신하면 된다.


    #include <stdio.h>

    int main(void){
        int a[10]={0,};
        int max_id=0;

        for(int i=0; i< sizeof(a)/sizeof(a[0]); i++){
            if (a[max_id] < a[i]) max_id = i; 
        }

        int max_value=0;

        for(int i=0; i< sizeof(a)/sizeof(a[0]); i++){
            if (max_value < a[i]) max_value = a[i];
        }

    return 0;
    }