C언어/문제은행

[7주차] 배열 정렬

슈슈버거 2023. 7. 5. 17:43

문제


내가 작성한 코드

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

int * Sort(int * arr, int len){
    int *ptr = arr;

    for(int i = 0; i<len; i++){
        for(int j = i; j<len; j++){
            if(*(ptr+j) < *(ptr+i)){
                int tmp = *(ptr+i);
                *(ptr+i) = *(ptr+j);
                *(ptr+j) = tmp;
            }
        }
    }

    return ptr;
}

int main() {
    int len;
    scanf("%d", &len);

    int num[len];

    for(int i = 0; i<len; i++){
        scanf("%d", &num[i]);
    }

    int *ptr;
    ptr = Sort(&num, len);

    for(int i = 0; i<len; i++){
        printf("%d\n", *(ptr+i));
    }

    return 0;
}

 정수형 배열에 입력받은 다음 Sort 함수에서 내 뒤의 원소가 나보다 작을 경우 자리를 바꾸는 식으로 진행했다

포인터 쓰는 거 뭔가...얼렁뚱땅해버렸다... 다시 공부해야될 듯