数组排序sort
时间: 2023-07-20 14:06:17 浏览: 50
在大多数编程语言中,都提供了对数组进行排序的函数或方法。一般来说,排序算法有两种:比较排序和非比较排序。
比较排序是通过比较元素之间的大小来进行排序,时间复杂度一般为 O(nlogn),其中 n 是数组的长度。比较排序包括快速排序、归并排序、堆排序等。
非比较排序则不需要比较元素之间的大小,时间复杂度可以达到 O(n),但是只适用于特定的数据类型和范围。非比较排序包括计数排序、基数排序等。
下面以 Python 为例,介绍数组排序的使用方法:
1. sort()
sort() 方法可以对列表进行排序,支持对原列表排序或返回一个新的排序后的列表。默认排序方式为升序。
```python
a = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
a.sort()
print(a) # [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
```
也可以指定排序方式,比如降序排序:
```python
a = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
a.sort(reverse=True)
print(a) # [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
```
2. sorted()
sorted() 函数可以对任何可迭代对象进行排序,不会改变原对象,而是返回一个新的排序后的列表。
```python
a = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
b = sorted(a)
print(a) # [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
print(b) # [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
```
同样也可以指定排序方式,比如降序排序:
```python
a = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
b = sorted(a, reverse=True)
print(b) # [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)