Bucket Sorting 관련 질문...
에가득
bucket sorting 관련 질문...왜 에러메시지가 뜨나요??질문 내용 : void bucket_sort(unsigned short *buffer, int num)
{
int i;
int h=0; // 입력되는 data 중 최대의 자릿수
int index=10; // 정렬될 숫자의 기준 자릿수를 연산하는데 사용 while(h 4)
{
int bucket[10]={0}; // 입력되는 data의 bucket index 정보를 얻어서 해당 자리에 숫자를 count
int bucket_2[10]={0}; // 새롭게 정렬될 data의 index 위치 지정
int bucket_3[200000] = {0}; // buffer의 data 임시 저장
for(i=0; i num; i++) // 입력되는 data의
{
bucket[(buffer[i] % index)/(index / 10)]++;
bucket_3[i] = buffer[i];
}
for(i=0; i 9; i++)
{
bucket_2[i+1] = bucket[i] + bucket_2[i];
}
bucket_2[0] = 0;
for(i=0; i num; i++)
{
buffer[ bucket_2[(bucket_3[i] % index)/(index / 10)] ] = bucket_3[i];
bucket_2[(bucket_3[i] % index)/(index / 10)]++;
}
index = index * 10;
h++;
}
}
자료구조 과목과제입니다.
bucket sorting 프로그램을 짜라는데요...
어찌어찌 짜다보니 잘 돌아가기는 하는데... 이게 20만개 이상의 자료를 정렬할려고 하니
unknown software exception이라는 에러메세지가 뜨면서 안되네요...
정렬할 자료형은 integer이구요... 비베로 돌리구 있어요~
과제 조건이 2^16 ~ 2^24개의 데이터를 정렬한다고 나와있는데... 2^24승이면 1600만개 되더군요..-.-;;
왜 이런 에러메세지가 뜨는지 알려주세요~~
그리구 bucket sorting으로 20만개 4자리 이하의 숫자정렬해서 0.11초면 빠른건가요 느린건가요..-.-;; 속도도 체크하신다구 하셔서...
답변 부탁드립니당~~~