理解数组与选择排序算法

需积分: 16 0 下载量 190 浏览量 更新于2024-07-12 收藏 1.17MB PPT 举报
"选择排序是一种简单的排序算法,其工作原理是通过一轮轮的选择,将数组中的最小(或最大)元素放到正确的位置上。在每一轮中,算法都会找到当前未排序部分的最小元素,将其与第一个未排序的元素交换位置。这个过程会持续到整个数组排序完成。选择排序的时间复杂度为O(n^2),不适用于大数据量的排序。 数组是一维数据结构,用于存储一系列相同类型的元素。在处理如记录多只羊的体重这类问题时,数组比单独定义多个变量更为高效和灵活。数组具有两个主要特点:有序性和元素同质性。定义数组时需要指定数组名称、元素类型和数组的大小。数组的大小在定义时必须是一个常量,不能是变量。 数组的定义格式通常为 `类型 数组名[元素个数];`。例如,定义一个包含10个整数的数组可以写作 `int intArray[10];`。若要在定义时同时初始化数组,可以提供初始值列表,如 `float x[5] = {-1.1, 0.2, 33.0, 4.4, 5.05};`。如果初始化列表的长度小于数组大小,未初始化的元素将自动设为零。另一种初始化方式是不指定数组大小,仅提供初始值列表,如 `int a[] = {1, 2, 3, 4, 5};`,此时数组大小由初始值的数量决定。 在程序中访问数组元素时,我们使用数组名加上下标来指定特定的元素。下标从0开始,至数组大小减1结束。例如,对于数组 `intArray[5]`,其下标范围是0到4。下标可以是整数、整型变量或任何结果为整型的表达式。数组在内存中是连续存储的,每个元素占据相应类型所需的空间,例如,整型数组的每个元素占用4个字节。当我们引用数组元素,如 `intArray[idx]`,系统会计算对应的地址并执行操作。 在内存分配方面,例如定义 `int intArray[5]` 会占用20个字节的空间。如果数组起始地址是100,那么数组元素在内存中的布局将是:`100` 对应 `intArray[0]`,`104` 对应 `intArray[1]`,以此类推。在给 `intArray[3]` 赋值3时,系统会将值3存放在地址108处。"