public static void radixSort(ArrayList<Integer> a, int length) {
		// 确定桶数，默认使用基数10，故为10
		ArrayList<Deque<Integer>> bucket = new ArrayList<>(10);
		for (int i = 0; i < 10; i++) {
			bucket.add(new ArrayDeque<Integer>());
		}

		// 确定所有数字的最长位数 lengthOfDigits
		int max = -1;
		for (int i : a) {
			if (max < i) {
				max = i;
			}
		}
		int lengthOfDigits = 1;
		while ((max = max / 10) != 0) {
			lengthOfDigits++;
		}

		// 从最低位开始直到最高位
		for (int i = 1; i <= lengthOfDigits; i++) {
			// 每趟排序依次检查所有数字
			for (int num : a) {
				// 得到左起第i位上的数字0~9
				int index = GetDigit(num, i);
				bucket.get(index).add(num);
			}

			a.clear();
			for (Deque<Integer> list : bucket) {
				for (int n : list) {
					a.add(n);
				}
				list.clear();
			}
			// 收集每一趟之后的结果到a中
			System.out.println("第" + i + "趟之后的排序结果：\na = " + a);

		}

	}