输入一串字符串,输出排好顺序的字符串不区分大小写
时间: 2023-05-22 13:00:53 浏览: 80
c++_按顺序输出字符串_
可以使用快速排序算法,将字符串转换为小写字母,然后按照字母顺序排序。以下是示例代码:
```python
def sort_string(s):
s = s.lower()
s = list(s)
quick_sort(s, 0, len(s)-1)
return ''.join(s)
def quick_sort(s, left, right):
if left >= right:
return
pivot = partition(s, left, right)
quick_sort(s, left, pivot-1)
quick_sort(s, pivot+1, right)
def partition(s, left, right):
pivot = s[right]
i = left - 1
for j in range(left, right):
if s[j] <= pivot:
i += 1
s[i], s[j] = s[j], s[i]
s[i+1], s[right] = s[right], s[i+1]
return i+1
# 测试
s = "Hello, World!"
print(sort_string(s)) # 输出: ,!dehllloorw
```
注意,这里使用了快速排序算法,时间复杂度为 O(nlogn)。如果字符串长度很大,可能会导致栈溢出,可以使用非递归的快速排序算法或者其他排序算法。
阅读全文