Eliminar un elemento de la array (Usando dos recorridos y un recorrido)

Dada una array y un número ‘x’, escriba una función para eliminar ‘x’ de la array dada. Asumimos que la array mantiene dos cosas con ella, capacidad y tamaño. Entonces, cuando eliminamos un artículo, la capacidad no cambia, solo cambia el tamaño.

Ejemplo: 

C++

// C++ program to remove a given element from an array
#include<bits/stdc++.h>
using namespace std;
 
// This function removes an element x from arr[] and
// returns new size after removal (size is reduced only
// when x is present in arr[]
int deleteElement(int arr[], int n, int x)
{
// Search x in array
int i;
for (i=0; i<n; i++)
    if (arr[i] == x)
        break;
 
// If x found in array
if (i < n)
{
    // reduce size of array and move all
    // elements on space ahead
    n = n - 1;
    for (int j=i; j<n; j++)
        arr[j] = arr[j+1];
}
 
return n;
}
 
/* Driver program to test above function */
int main()
{
    int arr[] = {11, 15, 6, 8, 9, 10};
    int n = sizeof(arr)/sizeof(arr[0]);
    int x = 6;
 
    // Delete x from arr[]
    n = deleteElement(arr, n, x);
 
    cout << "Modified array is \n";
    for (int i=0; i<n; i++)
    cout << arr[i] << " ";
 
    return 0;
}

Java

// Java program to remove a given element from an array
import java.io.*;
 
class Deletion {
     
    // This function removes an element x from arr[] and
    // returns new size after removal (size is reduced only
    // when x is present in arr[]
    static int deleteElement(int arr[], int n, int x)
    {
        // Search x in array
        int i;
        for (i=0; i<n; i++)
            if (arr[i] == x)
                break;
  
        // If x found in array
        if (i < n)
        {
            // reduce size of array and move all
            // elements on space ahead
            n = n - 1;
            for (int j=i; j<n; j++)
                arr[j] = arr[j+1];
        }
  
        return n;
    }
     
    // Driver program to test above function
    public static void main(String[] args)
    {
        int arr[] = {11, 15, 6, 8, 9, 10};
        int n = arr.length;
        int x = 6;
  
        // Delete x from arr[]
        n = deleteElement(arr, n, x);
  
        System.out.println("Modified array is");
        for (int i = 0; i < n; i++)
            System.out.print(arr[i]+" ");
         
    }
}
/*This code is contributed by Devesh Agrawal*/

Python3

# Python 3 program to remove a given
# element from an array
 
# This function removes an element x
# from arr[] and returns new size after
# removal (size is reduced only when x
# is present in arr[]
def deleteElement(arr, n, x):
     
    # Search x in array
    for i in range(n):
        if (arr[i] == x):
            break
 
    # If x found in array
    if (i < n):
         
        # reduce size of array and move
        # all elements on space ahead
        n = n - 1;
        for j in range(i, n, 1):
            arr[j] = arr[j + 1]
 
    return n
 
# Driver Code
if __name__ == '__main__':
    arr = [11, 15, 6, 8, 9, 10]
    n = len(arr)
    x = 6
 
    # Delete x from arr[]
    n = deleteElement(arr, n, x)
 
    print("Modified array is")
    for i in range(n):
        print(arr[i], end = " ")
         
# This code is contributed by
# Shashank_Sharma

C#

// C# program to remove a given element from
// an array
using System;
 
class GFG {
     
    // This function removes an element x
    // from arr[] and returns new size
    // after removal (size is reduced only
    // when x is present in arr[]
    static int deleteElement(int []arr,
                              int n, int x)
    {
         
        // Search x in array
        int i;
        for (i = 0; i < n; i++)
            if (arr[i] == x)
                break;
 
        // If x found in array
        if (i < n)
        {
             
            // reduce size of array and
            // move all elements on
            // space ahead
            n = n - 1;
            for (int j = i; j < n; j++)
                arr[j] = arr[j+1];
        }
 
        return n;
    }
     
    // Driver program to test above function
    public static void Main()
    {
        int []arr = {11, 15, 6, 8, 9, 10};
        int n = arr.Length;
        int x = 6;
 
        // Delete x from arr[]
        n = deleteElement(arr, n, x);
 
        Console.WriteLine("Modified array is");
        for (int i = 0; i < n; i++)
            Console.Write(arr[i]+" ");
         
    }
}
 
// This code is contributed by nitin mittal.

Javascript

<script>
 
// Javascript program to remove a
// given element from an array
 
// This function removes an
// element x from arr[] and
// returns new size after removal
// (size is reduced only
// when x is present in arr[]
function deleteElement( arr, n, x)
{
   // Search x in array
   let i;
   for (i=0; i<n; i++)
      if (arr[i] == x)
         break;
 
   // If x found in array
   if (i < n)
   {
     // reduce size of array and move all
     // elements on space ahead
     n = n - 1;
     for (let j=i; j<n; j++)
        arr[j] = arr[j+1];
   }
 
   return n;
}
 
 
    // driver code
     
    let arr = [11, 15, 6, 8, 9, 10];
    let n = arr.length;
    let x = 6;
 
    // Delete x from arr[]
    n = deleteElement(arr, n, x);
 
    document.write("Modified array is </br>");
    for (let i=0; i<n; i++)
       document.write(arr[i] + " ");
     
</script>

C++

// C++ program to remove a given element from an array
#include<iostream>
using namespace std;
 
// This function removes an element x from arr[] and
// returns new size after removal.
// Returned size is n-1 when element is present.
// Otherwise 0 is returned to indicate failure.
int deleteElement(int arr[], int n, int x)
{
   // If x is last element, nothing to do
   if (arr[n-1] == x)
       return (n-1);
 
   // Start from rightmost element and keep moving
   // elements one position ahead.
   int prev = arr[n-1], i;
   for (i=n-2; i>=0 && arr[i]!=x; i--)
   {
       int curr = arr[i];
       arr[i] = prev;
       prev = curr;
   }
 
   // If element was not found
   if (i < 0)
     return 0;
 
   // Else move the next element in place of x
   arr[i] = prev;
 
   return (n-1);
}
 
/* Driver program to test above function */
int main()
{
    int arr[] = {11, 15, 6, 8, 9, 10};
    int n = sizeof(arr)/sizeof(arr[0]);
    int x = 6;
 
    // Delete x from arr[]
    n = deleteElement(arr, n, x);
 
    cout << "Modified array is \n";
    for (int i=0; i<n; i++)
       cout << arr[i] << " ";
 
    return 0;
}

Java

// Java program to remove a given element from an array
import java.io.*;
 
class Deletion
{
    // This function removes an element x from arr[] and
    // returns new size after removal.
    // Returned size is n-1 when element is present.
    // Otherwise 0 is returned to indicate failure.
    static int deleteElement(int arr[], int n, int x)
    {
        // If x is last element, nothing to do
        if (arr[n-1] == x)
            return (n-1);
 
        // Start from rightmost element and keep moving
        // elements one position ahead.
        int prev = arr[n-1], i;
        for (i=n-2; i>=0 && arr[i]!=x; i--)
        {
            int curr = arr[i];
            arr[i] = prev;
            prev = curr;
        }
 
        // If element was not found
        if (i < 0)
            return 0;
 
        // Else move the next element in place of x
        arr[i] = prev;
 
        return (n-1);
    }
 
    // Driver program to test above function
    public static void main(String[] args)
    {
        int arr[] = {11, 15, 6, 8, 9, 10};
        int n = arr.length;
        int x = 6;
 
        // Delete x from arr[]
        n = deleteElement(arr, n, x);
 
        System.out.println("Modified array is");
        for (int i = 0; i < n; i++)
            System.out.print(arr[i]+" ");
 
    }
}
/*This code is contributed by Devesh Agrawal*/

Python3

# python program to remove a given element from an array
 
 
# This function removes an element x from arr[] and
# returns new size after removal.
# Returned size is n-1 when element is present.
# Otherwise 0 is returned to indicate failure.
def deleteElement(arr,n,x):
 
    # If x is last element, nothing to do
    if arr[n-1]==x:
        return n-1
 
    # Start from rightmost element and keep moving
   # elements one position ahead.
 
    prev = arr[n-1]
    for i in range(n-2,1,-1):
        if arr[i]!=x:
            curr = arr[i]
            arr[i] = prev
            prev = curr
 
    # If element was not found
    if i<0:
        return 0
 
    # Else move the next element in place of x
    arr[i] = prev
    return n-1
 
 
# Driver code
arr = [11,15,6,8,9,10]
n = len(arr)
x = 6
n = deleteElement(arr,n,x)
print("Modified array is")
for i in range(n):
    print(arr[i],end=" ")
 
# This code is contributed by Shrikant13

C#

// C# program to remove a given
// element from an array
using System;
class GFG {
     
    // This function removes an
    // element x from arr[] and
    // returns new size after
    // removal. Returned size is
    // n-1 when element is present.
    // Otherwise 0 is returned to
    // indicate failure.
    static int deleteElement(int []arr,
                             int n,
                             int x)
    {
         
        // If x is last element,
        // nothing to do
        if (arr[n - 1] == x)
            return (n - 1);
 
        // Start from rightmost
        // element and keep moving
        // elements one position ahead.
        int prev = arr[n - 1], i;
        for (i = n - 2; i >= 0 &&
                arr[i] != x; i--)
        {
            int curr = arr[i];
            arr[i] = prev;
            prev = curr;
        }
 
        // If element was
        // not found
        if (i < 0)
            return 0;
 
        // Else move the next
        // element in place of x
        arr[i] = prev;
 
        return (n - 1);
    }
 
    // Driver Code
    public static void Main()
    {
        int []arr = {11, 15, 6, 8, 9, 10};
        int n = arr.Length;
        int x = 6;
 
        // Delete x from arr[]
        n = deleteElement(arr, n, x);
 
        Console.WriteLine("Modified array is");
        for(int i = 0; i < n; i++)
            Console.Write(arr[i]+" ");
 
    }
}
 
// This code is contributed by anuj_67.

Javascript

<script>
// Java Script program to remove a given element from an array
 
    // This function removes an element x from arr[] and
    // returns new size after removal.
    // Returned size is n-1 when element is present.
    // Otherwise 0 is returned to indicate failure.
    function deleteElement(arr,n,x)
    {
        // If x is last element, nothing to do
        if (arr[n-1] == x)
            return (n-1);
 
        // Start from rightmost element and keep moving
        // elements one position ahead.
        let prev = arr[n-1], i;
        for (i=n-2; i>=0 && arr[i]!=x; i--)
        {
            let curr = arr[i];
            arr[i] = prev;
            prev = curr;
        }
 
        // If element was not found
        if (i < 0)
            return 0;
 
        // Else move the next element in place of x
        arr[i] = prev;
 
        return (n-1);
    }
 
    // Driver program to test above function
     
        let arr = [11, 15, 6, 8, 9, 10];
        let n = arr.length;
        let x = 6;
 
        // Delete x from arr[]
        n = deleteElement(arr, n, x);
 
         document.write("Modified array is<br>");
        for (let i = 0; i < n; i++)
           document.write(arr[i]+" ");
 
    
// This code is contributed by sravan kumar Gottumukkala
</script>

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *