谭浩强C语言程序设计解析.ppt

谭浩强C语言程序设计解析

例2: 排序问题–––计算机处理数据的一个重要问题 排序算法较多,一种最简单的算法–––选择排序法用得较多。基本思路: 设有n个数,需将它们从小到大顺序排列。则: 2. 在剩下的n –1个元素中,找出第二小的元素并把它放在第二个位置上。 3. 对上述过程重复,直至剩下一个元素。 1. 从n个元素中,通过比较,找出最小元素,放在第一个位置上。 例: 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 从以上例子可以看到: 用到两种循环,第一种循环––找第i小的元素,第二种循––对其后的元素的一一比较。 流程图: 初始化 输入n个元素?a数组 i?1 j?i+1 a[i]a[j] 交换a[i] a[j] B A No Yes j?j+1 jn

文档评论(0)

1亿VIP精品文档

相关文档