mirror of
https://github.com/chefyuan/algorithm-base.git
synced 2026-03-13 21:31:12 +00:00
添加了python版本代码
为数据结构和算法文件夹下的代码增加了python语言版本
This commit is contained in:
@@ -28,6 +28,8 @@
|
||||
|
||||
**希尔排序代码**
|
||||
|
||||
Java Code:
|
||||
|
||||
```java
|
||||
class Solution {
|
||||
public int[] sortArray(int[] nums) {
|
||||
@@ -58,6 +60,34 @@ class Solution {
|
||||
}
|
||||
```
|
||||
|
||||
Python Code:
|
||||
|
||||
```python
|
||||
from typing import List
|
||||
class Solution:
|
||||
def sortArray(self, nums: List[int])->List[int]:
|
||||
increment = len(nums)
|
||||
# 注意看结束条件
|
||||
while increment > 1:
|
||||
# 这里可以自己设置
|
||||
increment = int(increment / 2)
|
||||
# 根据增量分组
|
||||
for i in range(0, increment):
|
||||
# 这块是不是有点面熟,回去看看咱们的插入排序
|
||||
for j in range(i + increment, len(nums), increment):
|
||||
temp = nums[j]
|
||||
k = j - increment
|
||||
while k >= 0:
|
||||
if temp < nums[k]:
|
||||
nums[k + increment] = nums[k]
|
||||
k -= increment
|
||||
continue
|
||||
break
|
||||
nums[k + increment] = temp
|
||||
return nums
|
||||
```
|
||||
|
||||
|
||||
我们刚才说,我们的增量可以自己设置的,我们上面的例子是用的希尔增量,下面我们看这个例子,看看使用希尔增量会出现什么问题。
|
||||
|
||||

|
||||
|
||||
Reference in New Issue
Block a user