试题三(共15分) 阅读以下说明和C函数,回答问题 l和问题 2,将解答填入答题纸的对应栏内。 【说明】 对于具有n个的整型数组a,需要进行的处理是删除a中所有的值为 0的数组,并将a中所有的非 O按照原顺序连续地存储在数组空间的前端。下面分别用函数CompactArr_v1 和CompactArr v2来实现上述处理要求,函数的返回值为非零的个数。 函数CompactArr_vl(int a[],int n)的处理思路是:先申请一个与数组a的大小相同的动态数组空间,然后顺序扫描数组a的每一个,将遇到的非O依次复制到动态数组空间中,最后再将动态数组中的传回数组a中。 函数CompactArr_v2(int a[],int n)的处理思路是:利用下标i(初值为 0)顺序扫描数组a的每一个,下标k(初值为0)表示数组 a中连续存储的非0的下标。扫描时,每遇到一个数组,i就增 1,而遇到非 0并将其前移后k才增 1。 【问题1】 (12分) 请根据说明中函数CompactArr_v1的处理思路填补空缺(1)~(3),根据CompactArr_v2的处理 思路填补空缺(4)。 【问题2】(3分) 请说明函数CompactArr vl存在的缺点。