숫자가 있다고 가정합니다. 우선 가장 중요한 숫자를 해당 버킷에 넣어야합니다. 예 : 530, 먼저 양동이 0에 넣어야합니다. 숫자 61의 경우 버킷 1에 넣어야합니다.기수 C++을 사용하여 정렬
이렇게하려면 다차원 배열을 사용하려고했습니다. 그래서 NROWS 2 dimenional 배열, (I 목록이 얼마나 큰 모르기 때문에)와 NCOLUMNS (0 ~ 9) 999999 10입니다 작성 :
int nrows = 10;
int ncolumns = 999999;
int **array_for_bucket = (int **)malloc(nrows * sizeof(int *));
for(i = 0; i < nrows; i++)
array_for_bucket[i] = (int *)malloc(ncolumns * sizeof(int));
left = (a->value)%10;
array_for_bucket[left][?? ] = a->value;
은 그 때 나는 하나 개의 노드를 생성 전화. 이 노드 a에는 값 50이 있습니다. 어느 버킷을 넣을 지 알아 보려면 "왼쪽"을 계산하고 0을 얻습니다. 그래서이 버킷 0에이 값을 넣고 싶습니다.하지만 이제는 붙어있어. 이 값을 양동이에 넣으려면 어떻게해야합니까? 이 작업을 수행하려면 포인터 배열을 사용해야합니다.
오랫동안 생각했지만 여전히 좋은 방법을 찾지 못했습니다. 그러니 나와 함께 아이디어를 공유하십시오. 고맙습니다!
C 스타일 할당 및 배열을 사용해야합니까? –