下标 | 1 | 2 | 3 | 4 | 5 |
值 | 5 | 3 | 3 | 2 | 4 |
第一步:统计数组 a 中每个值 a(i)出现的次数,存入 b(a(i)),统计完成后数组 b 的情况如下:
下标 | 1 | 2 | 3 | 4 | 5 |
值 | 0 | 1 | 2 | 1 | 1 |
第二步:从前向后,依次使数组 b 中的每个值等于其与前一项之和,这样数组 b(a(i))就代表了数组 a 中小于或等于 a(i)的元素个数,完成第二步后数组 b 如下:
下标 | 1 | 2 | 3 | 4 | 5 |
值 | 0 | 1 | 3 | 4 | 5 |
第三步:从后往前,依次将数组a中元素填入数组c中,将数组元素a(i)放在数组c的第b(a(i))项,如元素a(1)=5,应该放在数组c的b(5)位(即c(5))。每放一个元素就将b(a(i))递减;完成第三步后,数组c如下所示,已经完成升序排序,且相对位置不变,即原来a(2)的值3仍然在a(3)的值3前面。
下标 | 1 | 2 | 3 | 4 | 5 |
值 | 2 | 3 | 3 | 4 | 5 |
程序运行界面如右图所示:
实现上述功能的VB程序如下,回答以下问题: