您的位置:首页 > 其它

蓝桥杯练习系统算法训练——删除数组零元素

2017-02-23 10:49 204 查看
从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。

 注意,CompactIntegers函数需要接受数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的新元素个数。
  输出删除后数组中元素的个数并依次输出数组元素。

import java.util.Scanner;

public class Main{
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int n = s.nextInt();
int arr[] = new int
;
for (int i=0;i<n;i++) {
arr[i] = s.nextInt();
}
int n2 = CompactIntegers(arr,n);
System.out.println(n2);
for (int i=0;i<n2;i++) {
System.out.print(arr[i] + " ");
}
}

public static int CompactIntegers(int arr[],int n) {
int s = n;
for (int i=0;i<n;) {
if (arr[i] == 0) {
for (int j=i;j<n-1;j++) {
arr[j] = arr[j+1];
}
n--;
} else {
i++;
}
}
return n;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: