From 1b489c7627d076e1575d7a3d96e6f31d16a031a2 Mon Sep 17 00:00:00 2001 From: goldSunshine <892697603@qq.com> Date: 2019年7月27日 16:08:32 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=A2=9E=E5=8A=A0python=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 10.radixSort.md | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/10.radixSort.md b/10.radixSort.md index 0bcd341..d7a3553 100644 --- a/10.radixSort.md +++ b/10.radixSort.md @@ -49,7 +49,39 @@ function radixSort(arr, maxDigit) { } ``` -## 4. Java 代码实现 + +## 4. python 代码实现 + +```python +def radix(arr): + + digit = 0 + max_digit = 1 + max_value = max(arr) + #找出列表中最大的位数 + while 10**max_digit < max_value: + max_digit = max_digit + 1 + + while digit < max_digit: + temp = [[] for i in range(10)] + for i in arr: + #求出每一个元素的个、十、百位的值 + t = int((i/10**digit)%10) + temp[t].append(i) + + coll = [] + for bucket in temp: + for i in bucket: + coll.append(i) + arr = coll + + digit = digit + 1 + + return arr +``` + + +## 5. Java 代码实现 ```java /** @@ -134,7 +166,7 @@ public class RadixSort implements IArraySort { } ``` -## 5. PHP 代码实现 +## 6. PHP 代码实现 ```php function radixSort($arr, $maxDigit = null) From 65747d5866dd63accb83e2814f7b9eb1ee0324fc Mon Sep 17 00:00:00 2001 From: goldSunshine <892697603@qq.com> Date: 2019年8月15日 22:27:24 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=9F=BA=E6=95=B0=E6=8E=92=E5=BA=8F?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 10.radixSort.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/10.radixSort.md b/10.radixSort.md index d7a3553..2da94b8 100644 --- a/10.radixSort.md +++ b/10.radixSort.md @@ -7,7 +7,7 @@ 基数排序有两种方法: -这三种排序算法都利用了桶的概念,但对桶的使用方法上有明显差异: +这三种排序算法都利用了桶的概念,但对桶的使用方法上有明显差异案例看大家发的: - 基数排序:根据键值的每位数字来分配桶; - 计数排序:每个桶只存储单一键值; @@ -73,8 +73,8 @@ def radix(arr): for bucket in temp: for i in bucket: coll.append(i) + arr = coll - digit = digit + 1 return arr @@ -201,4 +201,4 @@ function radixSort($arr, $maxDigit = null) return $arr; } -``` \ No newline at end of file +```