蓝桥杯练习系统算法训练——删除数组零元素
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;
}
}
注意,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;
}
}
相关文章推荐
- 蓝桥杯 算法训练 删除数组零元素
- 蓝桥杯练习系统-删除数组零元素
- 蓝桥杯 算法训练 删除数组零元素
- 【蓝桥杯-练习系统】删除数组零元素
- 蓝桥杯算法训练 删除数组零元素
- 蓝桥杯 算法训练 删除数组零元素
- 蓝桥杯 算法训练 删除数组零元素
- 蓝桥杯 ALGO-79 算法训练 删除数组零元素
- 蓝桥杯练习系统算法训练——求数组最大值
- 蓝桥杯 - 算法训练 - 删除数组零元素 - Java
- 蓝桥杯--算法训练之ALGO-79 删除数组零元素
- 蓝桥杯算法训练 删除数组零元素
- 算法-蓝桥杯-算法训练 删除数组零元素 (JAVA)
- 算法训练 删除数组零元素
- 蓝桥杯练习系统(算法训练)-ALGO-2 最大最小公倍数
- 蓝桥杯练习系统算法训练——递归求二项式系数
- 蓝桥杯练习系统算法训练——最小乘积
- 蓝桥杯 ADV-119 算法提高 6-9删除数组中的0元素
- 蓝桥杯练习系统算法训练——前缀表达式运算
- 蓝桥杯练习系统算法训练——动态数组的使用