编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接收数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的新元素个数。
输入时首先读入数组长度,再依次读入每个元素。
将调用此函数后得到的数组和函数返回值输出。
样例输入
7
2 0 4 3 0 0 5
样例输出
2 4 3 5
4
代码:
import java.util.Scanner;
public class Test {
public static int CompactIntegers(int a[]){
int size = a.length;
for (int i = 0;i<a.length;i++){
if (a[i] == 0){
for (int j = i;j<a.length-1;j++){
a[j] = a[j+1];
}
i--;
size--;
}
}
return size;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int []a = new int[n];
for (int i = 0;i<n;i++){
a[i] = sc.nextInt();
}
int size = CompactIntegers(a);
for (int i = 0;i<size;i++){
System.out.print(a[i]+" ");
}
System.out.println();
System.out.println(size);
}
}