假设a有n个数 b有m个数(n>m) ,取前m个a放入b ,在b中做排序(比如冒泡)。排序好后得到新的b。
然后把第m+1个a与b中的数进行判断,插入到指定的位置,循环直到第n个数
冒泡排序数组a,循环赋值数组b
从题目看,最终目的是把a数组中b数组长度个的最小值放到b中,那么可以认为b就是一个空数组,最直接想到的方法如下
定义一个临时变量temp,把a[0]赋给b[0],比较a[1]和b[0],如果a[1]比b[0]小就把b[0]移到b[1],a[1]赋给b[0],反之则把a[1]赋给b[1],以此类推,循环a把a中的每个值与b中的值循环比较并插入b,使b保持从小到大的顺序,当循环到a[b.lengh]的时候把b中最后一个数字抛弃,直道完成循环a,在这个过程中只有对b中数字作移动时需要一个临时变量
(这个办法可能笨了点,但我第一时间就想到这个了,利用一些数学方法可能还能有更好的算法)
默认将A中第一个数作为最小数放入B中,循环数组A。依次将A中的元素N放入B中,在放入B中前判断元素N是否小于B中最后一个元素M(如果N小于M,交互M和N的位置直到N不小于它在B中的前一个元素)。
希望能帮到你!