• 2021-04-14
    请根据上课所学内容完成基数排序算法。 算法输入: n,数组长度 data, 数组... 300 339 438 580 870
  • /********************* 基数排序: 输入:data, 数组名 n,数组长度 d,数字位数 ************************/ void RadixSort(int data[], int n, int d) { int *tmp = new int[n]; int count[10]; int i, j, k; int radix = 1; for (i = 0; i < 10; i++) { for (j = 0; j < 10; j++)//每次分配前计数器清0 count[j] = 0; for (j = 0; j < n; j++)//统计每个桶有多少个数字 { k = (data[j] / radix) % 10; count[k]++; } for (j = 1; j < 10; j++)//统计每个桶的累计数目 { count[j] = count[j - 1] + count[j]; } for (j = n - 1; j >= 0; j--) { k = (data[j] / radix) % 10; tmp[count[k] - 1] = data[j]; count[k]--; } for (j = 0; j < n; j++) data[j] = tmp[j]; radix *= 10; } } }

    内容

    • 0

      关于冒泡和选择排序算法说法正确的是() A: 冒泡排序算法优于选择排序算法 B: 选择排序算法优于冒泡排序算法 C: 冒泡排序算法可以把一列数字从大到小进行排列 D: 选择排序的原理是额外创建一个数组,从原数组中找到最小值或者最大值,然后push进新创建的数组

    • 1

      下列算法中可实现数组排序的是(__)

    • 2

      对一个数值在(1,100)之间的数组进行排序,假设共有n个元素。(1)试给出基数排序的空间消耗,桶数,总需要时间。 (2)给出在基数排序过程中找出n个元素(n>10)前10个最大的算法思想。

    • 3

      以下哪种排序算法是稳定排序算法? A: 选择排序 B: 快速排序 C: 希尔排序 D: 基数排序

    • 4

      中国大学MOOC: 5.数组的排序算法只有冒泡排序这一种。( )