【问题】:如果有一组数据a[]={0,9,2,3,4,5,3,5,2,8},对它进行从小到大的顺序排列
#include <stdio.h> void BucketSort() { int i, j; int a[] = {0,9,2,3,4,5,3,5,2,8}; int b[10] = {0}; int iaSize = sizeof(a)/sizeof(int); int ibSize = sizeof(b)/sizeof(int); for(i=0; i<iaSize; i++) { b[a[i]]++; } for(i=0; i<iaSize; i++) { for(j=0; j<b[i]; j++) { printf("%d ", i); } } printf("\n"); } int main() { BucketSort(); }
说一下复杂度的问题,桶排的复杂度O(m+n),其中m表示桶的个数,n表示待排序数的个数,即表示为O(M+N).
时间: 2024-10-27 08:22:21