运行结果如下: 5 8 13 21 34 55 89 144 133 377 610 9871597 1584 4181 6765
1 8 89 987 5 55 610 6765 运行结果如下: 1 13 144 1597 2 21 133 1584 3 34 377 4181
例2:排序问题—计算机处理数据的一个重要问题 排序算法较多,一种最简单的算法——选择排序 法用得较多。基本思路:设有n个数,需将它们从小 到大顺序排列。则: ●1.从n个元素中通过比较找出最小元素,放在第 个位置上。 2.在剩下的n-1个元素中,找出第二小的元素并把 它放在第二个位置上 3.对上述过程重复直至剩下一个元素
例2: 排序问题–––计算机处理数据的一个重要问题 排序算法较多,一种最简单的算法–––选择排序 法用得较多。基本思路: 设有n个数,需将它们从小 到大顺序排列。则: 2. 在剩下的n –1个元素中,找出第二小的元素并把 它放在第二个位置上。 3. 对上述过程重复,直至剩下一个元素。 1. 从n个元素中,通过比较,找出最小元素,放在第 一个位置上
例:8,4,20,100,28,1 第1次:4,8,20,100,28,1 两次交换 1.8.20.100.28.4 第2次:1,4,20,100,28,8—一次交换 第3次:1,4,8,100,28,20 次交换 第4次:1,4,8,28,100,20, 两次交换 1.4.8.20.100.28 第5次:1,4,8,20,28,100 次交换
例: 8, 4, 20, 100, 28, 1, 两次交换 第2次: 1, 4, 20, 100, 28, 8 ––– 一次交换 第3次: 1, 4, 8, 100, 28, 20 ––– 一次交换 第4次: 1, 4, 8, 28, 100, 20, 1, 4, 8, 20, 100, 28 两次交换 第5次: 1, 4, 8, 20, 28, 100 ––– 一次交换 第1次: 4, 8, 20, 100, 28, 1 1, 8, 20, 100, 28, 4
从以上例子可以看到:用到两种循环第一种循 环一找第的元素,第二种循环一对其后的元素 的一一比较。 初始化 流程图 输入n个元素→a数组 B j<-i+1 A <a[i]>a[i] No es 交换a[j al
从以上例子可以看到: 用到两种循环,第一种循 环––找第i小的元素,第二种循环––对其后的元素 的一一比较。 流程图: 初始化 输入n个元素a数组 i1 ji+1 a[i]>a[j] 交换a[i] a[j] B A No Yes
j<-j+1 内循环 No A ¥res i<i+1 外循环 <>n B lYes 打印结果 结束
jj+1 j>n ii+1 i> n–1 打印结果 结束 内循环 外循环 B A No Yes Yes No