链表每个元素都存储了下一元素的地址,所以可以使用随机内存地址串在一起,只要有足够的内存空间,就可以为链表分配内存;
其中,为线性时间,为常量时间;
链表擅长插入和删除元素,而数组则擅长随机访问;
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @version : 1.0
# @Time : 2019-11-3 23:24
# @Author : cunyu
# @Email : cunyu1024@foxmail.com
# @Site : https://cunyu1943.github.io
# @File : selectionSort.py
# @Software: PyCharm
# @Desc : 选择排序
# 查找列表最小元素
def findSmallest(List):
# 最小元素的值
smallest = List[0]
# 最小元素的值的索引
smallest_index = 0
for i in range(1, len(List)):
if List[i] < smallest:
smallest = List[i]
smallest_index = i
return smallest_index
# 选择排序
def selectionSort(List):
newList = []
for i in range(len(List)):
smallest = findSmallest(List)
newList.append(List.pop(smallest))
return newList
if __name__ == '__main__':
List = [1, 9, 11, 43, 3, 7, 5]
print("排序后的列表:")
print(selectionSort(List))