阅读下列函数arrange( )(7 分)
int arrange(int a[], int low, int hig, int x) // low和hig分别为数据区的下界和上界 { int i,j,t; i=low; j=hig; while (i<j) { while (i<j & a[j]>=x) j--; while (i<j & a[i]<x) i++; if (i<j) { t=a[i]; a[i]=a[j];a[j]=t;} } if(a[i]<x) return i; else return i-l;
(1)写出该函数的功能; (2分)
(2)写一个调用上述函数实现下列功能的算法:对- -整形数组b[n]中的元素进行重新排列,将所有负数均调整到数组的低下标端,将所有正数均调整到数组的离下标端,若有零值,则量于两者之间,并返问数组中零元案的个数。(5分)