有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。(c语言)

遇到的问题

  1. 我尝试使用冒泡排序法,在输入数后将原本的数组重新排序可是无论如何都无法做到重新排序

  1. 在循环阶段的冒泡排序,到了要交换数值的地方突然将数全部变为原本的数

解决方法

  1. 冒泡排序没有办法解决这个问题则需要换思路,通过对csdn上面大佬的代码,我发现需要使用迭代法(类似,或者称打擂台法)。具体的算法思路为:将插入的数和原数组的数进行一一比较(原数组为升序),当插入数比原数组大时,对原数组的数和插入数进行交换,当比较发现插入数为最大时将数组最后的数设置为插入数。

  1. 这个问题现在的我没办法解答,询问老师过后,老师的解答为,在排序时数组的长度应是固定的才开始排序,而不是在插入时排序。

最终代码(参考大佬)

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2023年12月27日
下一篇 2023年12月27日

相关推荐