如何在一维数组中利用for循环删除一个数

来源:百度知道 编辑:UC知道 时间:2024/05/17 04:18:11
已知一维数组中有5个数是有序排列,例如(10,20,30,40,50),接受用户输入的一个数: 30;
删除后的这个数组依然保持有序排列!

用C实现:

void delete(int buf[],int N) //buf为数组,N是数组长度
{
int d;
int flag=0;
printf("input you word:");
scanf("%d",&d);
for(int i=0;i<N;i++)
{
if(buf[i]==d)
{
flag=flag+1;
for(int j=i;i<(N-flag);j++)
{
buf[j]=buf[j+1];
}
}
}
for(i=0;i<N-1;i++)
{
printf("%d,",buf[i]);
}
}

JAVA写的
public class deleteorder {
public static final int COMMONDATA = 10;
public static void main(String[] args) {
int[] arrdata = {10,20,30,40};
int length = arrdata.length;
boolean flag = false;
int[] enddata = null;
for (int a = 0;a<length;a++){
if (arrdata[a] == COMMONDATA){
enddata = delete(arrdata, a,length);
flag = true;
}
}
if (flag == true){
System.out.println("had already delete the new data is ");
}else{
System.out.pr