基于一维数组的桶排序入门

桶排序就是将对应的数分配到对应的桶里。

这里需要注意的就是假如你需要排序的数的范围是(0~1000), 你就要分配1001个桶,即定义一个一维数组的长度为1001。例如

int arr[1001];

讲对应的数分配到对应的下标数组元素中,所以在分配之前我们就要将一维数组进行初始化。

代码实现:

#define lenth 10

int x;

int main(int argc ,char **argv)

{

  int arr[lenth];

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

    arr[i] = 0;

  }

  printf("please input number ");

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

    scanf("%d",&x);

    arr[t]++;//当该元素出现一次时,就将数组元素自加一

   }

  for(int i = 0 ;i <= lenth;i++){//升序排序

    for(int j = 1;j <=arr[i];j++){
      printf("%d ",i);

   }

//降序排序时只需要将i初值赋值为数组的最右边下标即可。

  

}