给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序
说明:
1.必须在原数组上操作,不能拷贝额外的数组
2.尽量减少操作次数
import java.util.Scanner;
public class Array{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入数据:");
int n=sc.nextInt();
int[] nums=new int[n];
for(int i=0;i<nums.length;i++){
nums[i]=sc.nextInt();
}
for(int i=0;i<nums.length-1;i++){
for(int x=0;x<nums.length-1;x++){
if(nums[x]==0){
int temp=nums[x];
nums[x]=nums[x+1];
nums[x+1]=temp;
}
}
}
printArray(nums);
}
public static void printArray(int[] nums){
System.out.print("[");
for(int x=0;x<nums.length;x++){
if(x==nums.length-1){
System.out.print(nums[x]+"]");
}else{
System.out.print(nums[x]+",");
}
}
System.out.println();
}
}