删除数组中的某元素(找不到则不删)

●删除数组中存在的某元素
将该元素赋值给str[n],之后进行while循环,寻找该元素,若i==n;说明没有找到返回-1;
反之则找到,数组在该元素位置进行前移,达到删除该元素的效果

int fun(int *str,int n,int k)
{
    
    
	str[n]=k;
	int i=0;
	int j=0;
		while(str[i]!=k)
	    {
    
    
		i++;
	    }
	if(i==n)
	{
    
    
		return -1;	
	}
	else
	{
    
    
		for(j=i;j<n-1;j++)
		{
    
    
		   str[j]=str[j+1];
		}
		return n-1;
	}
}
int main()
{
    
    
	int arr[]={
    
    1,2,3,4,5,6,7,8,9};
	int n=sizeof(arr)/sizeof(arr[0]);
	int k=fun(arr,n,6);
	int i=0;
	for(i=0;i<k;i++)
	{
    
    
		printf("%d ",arr[i]);
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/cfk17829572643/article/details/109693776