向有序的数组插入元素,使得数组仍然有序
以下是文字说明
将一数组顺序排序。输入新的元素,插入到此数组中,使得数组仍然有序。
【制定算法】
这个算法分五步完成
1.对数组a[N]排序2.输入要插入的元素x3.找到x要插入的位置pos4.将a[pos]及其后面的元素向后挪动一个位置5.将x插入在a[pos]
【算法实现】
1.对数组a[N]排序
可以使用冒泡排序
2.输入要插入的元素x
用一条语句可以实现。
3.找到x要插入的位置pos
逐个查找x插入的位置,x第一次小于数组的元素,即记录位置的pos,写出对应的代码。数组元素下标i从0开始,最大值是多少呢?i最大值是N减1,添加for循环。
还需要考虑极端情况。假设插入的x非常大,应放入数组最后,再检查代码,是否合适。
4.将a[pos]及其后面的元素向后挪动一个位置
假设已经找到了插入的位置pos。插入前,需要将a[pos]后面的元素往后挪动一个位置。代码可以用循环结构书写,循环体可以写成a[i+1]等于a[ i]。观察i的变化,i从N减1变化到pos。完善代码。
再考虑极端情况,假设插入的x非常大,pos等于N,则不需要移动元素。检查代码,不会进入循环,不会移动数组元素。符合要求。
5.将x插入在a[pos]
只要用一条赋值语句就能实现。
综合以上分析,可写出完整程序
【测试】
【总结】
编写程序前,制定好算法,再将根据算法编写程序,可以让写程序更轻松,有条理