选择排序
文章目录 内存的工作原理 数组和链表 读取 插入删除 选择排序 问题: 示例代码 内存的工作原理 计算机内存犹如一大堆抽屉,每个抽屉( 内存单元 )都有地址。 将数据存储到内存时,你请求计算机提供存储空间,计算机给你一个存储地址。需要存储多项数据时,有两种基本方式—— 数组 和 链表 。 数组和链表 数组的元素都在一起,即在内存中都是相连的。 在同一个数组中,所有元素的类型都必须相同(都为int、double等)。 链表的元素是分开的,其中每个元素都存储了下一个元素的地址。 读取 数组的 读取 速度很 快 ,因为你 知道其中每个元素的地址 ,支持 随机访问 ;链表只能 顺序访问 ,比如在需要读取链表的最后一个元素时,你不能直接读取,因为你 不知道它所处的地址 ,必须先访问元素#1,从中获取元素#2的地址,再访问元素#2并从中获取元素#3的地址,以此类推,直到访问最后一个元素。需要同时读取所有元素时,链表的效率很高:你读取第一个元素,根据其中的地址再读取第二个元素,以此类推。但如果你需要跳跃,链表的效率真的很低。 插入删除 链表的插入和删除速度很快。插入元素时,只需将其放入内存,并将其地址存储到前一个元素中。 在数组中添加新元素可能很麻烦。如果没有了空间,就得移到内存的其他地方,因此添加新元素的速度会很慢;如果需要在中间插入元素,则必须将后面的元素都向后移。 时间复杂度为 O ( n