아하 로고
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
신중한달팽이140
신중한달팽이14020.11.04

기수정렬 모르겠어서 질문드립니다!

#include <stdlib.h>

#include <stdio.h>


void PrintsortedArr(int* a, int n) {

}


void CountingSort(int a[], int n, int b[], int exp) {

int N[10] = { 0 };

for (int i = 0; i < n; i++) {

N[a[i]] / exp % 10]++;

}

for (int i = 1; i <= 9; i++) {

N[i] += N[i - 1];

}

for (int i = 0; i < n; i++) {

b[N[a[i] / exp % 10] - 1] = a[i];;

N[a[i] / exp % 10]--;

}

for (int i = 0; i < n; i++) {

a[i] = b[i];

}

}


void RadixSort(int a[], int n) {

int max = a[0], exp = 1;

int b[10] = { 0 };

for (int i = 1; i < n; i++) {

if (max < a[i]) max = a[i];

}

while (max / exp > 0) {

CountingSort(a, n, b, exp);

exp = exp * 10;

}

}


int main(void)

{

int a[10] = { 213,319,561,636,880,965,635,764,129,120 };


PrintSortedArr(a, 10);

Radixsort(a, 10);

PrintSortedArr(a, 10);

}


위와 같이 기수정렬할때 계수정렬을 이용하는 프로그램을 짜고있는데 PrintSortedArr 여기 출력 부분을 아예 모르겠어서 질문드립니다. 출력부분 전체를 알려주시면 감사하겠습니다 ㅎㅎㅎ

55글자 더 채워주세요.
답변의 개수1개의 답변이 있어요!
  • 안녕하세요.

    질문을 꼼꼼히 읽다가가 다시 문제를 보니..

    void PrintsortedArr(int* a, int n) { }

    를 작성해 달라는 질문이셨던거죠?

    void PrintsortedArr(int* a, int n) { for(int i = 0; i < n; i++) printf("%d ", a[i]); printf("\n"); }