《c语言程序设计教学资料第8章---数组.ppt

《c语言程序设计教学资料第8章---数组

例:用选择法对数组中10个整数按由小到大排序。 解题思路: 选择法就是先将10个数中最小的数与a[0]对换;再将a[1]到a[9]中最小的数与a[1]对换……每比较一轮,找出一个未经排序的数中最小的一个 共比较9轮 程序举例:用冒泡法对10个数排序(由小到大)。 起泡法的思路是:将相邻两个数比较,将小的调到前头。 第 一 轮比 较 经过第一轮(共5次比较与交换)后,最大的数9已“沉底” 。然后进行对余下的前面5个数第二轮比较 第 二 轮比 较 如果有n个数,则要进行n-1轮比较。在第1轮比较中要进行n-1次两两比较,在第j轮比较中要进行n-j次两两比较。 经过第二轮(共4次比较与交换)后,得到次大的数8。 程序流程图如下: 数据溢出 mid=(high+low)/2; 如果数组很多,low和high之和大于整数的取值范围 就会发生数据溢出 防止溢出的解决方案 修改计算中间值的方法,用减法代替加法 mid=low+(high-low)/2; 常见错误P219 1 0 0 0 5 0 0 0 9 0 0 0 也可以对各行中的某一元素赋初值 如:int a[3][4]={{1},{0,6},{0,0,0,11}}; 1 0 0 0 0 6 0 0 0 0 0 11 1 0 0 0 5 6

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档