Cómo borrar registros de un vector en un programa en C

Escrito por kevin walker | Traducido por beatriz sánchez
Cómo borrar registros de un vector en un programa en C

Jupiterimages/Photos.com/Getty Images

Los lenguajes de programación como Python, Ruby y Java hacen que programar sea sencillo. Pero cuando se trata de potencia y velocidad, no hay ningún lenguaje moderno como el viejo recurso: C. Sin embargo, la potencia tiene un precio. Incluso las operaciones sencillas, como eliminar objetos de un vector, pueden ser una tarea complicada para un programador acostumbrado a usar el redimensionamiento de vectores dinámicos disponible en muchos lenguajes modernos. Aquí crearás una función que puedes usar para eliminar un elemento de cualquier vector de enteros.

Nivel de dificultad:
Moderadamente difícil

Otras personas están leyendo

Instrucciones

  1. 1

    Abre un editor de texto.

  2. 2

    Pega la siguiente función: void removeElement(int *arr, int element, int *size) { int counter = 0; for (int x = 0; x < *size; x++) { if (x != element) { arr[counter] = arr[x]; counter++; } } *size = *size - 1; } Como puedes ver, esto toma un puntero hacia un vector, el número del elemento que se borrará y el tamaño del vector. La última variable es muy importante. C no permite reducir el tamaño de un vector declarado (o aumentarlo, en este caso). En su lugar, necesitarás controlar el tamaño del vector de forma separada, y usar la función "sizeof" como única referencia del tamaño máximo actual del vector. El tamaño y el propio vector se pasan como punteros, así que podemos tomar sus direcciones y cambiar sus valores fuera de la función. Después de esto, la lógica es sencilla: los datos a la derecha del elemento borrado simplemente se desplazan a la izquierda.

  3. 3

    Guarda tu trabajo en "removeElement.cpp".

Consejos y advertencias

  • No se puede asegurar que los datos que se pasan a la función son en realidad un vector, y pueden ocurrir cosas desagradables si el programador pasa accidentalmente un puntero hacia otra ubicación de memoria. Por este motivo, la Biblioteca de Plantillas Estándar de C incluye estructuras de datos como el Vector. No tienen parte de la flexibilidad del vector estándar, pero proporcionan funciones de redimensionamiento de vectores seguras. Si esperas meter y sacar valores de funciones de forma regular, puede que quieras transformar ese vector para usar la plantilla Vector.

No dejes de leer...

Referencias

Filtrar por:
  • Mostrar todos
  • Artículos
  • Galerías de fotos
  • Videos
Ordenar:
  • Más relevante
  • Más popular
  • Más reciente

No se encuentran artículos disponibles

No se encuentran slideshows disponibles

No se encuentran videos disponibles

Copyright © 1999-2015 Demand Media, Inc. Acerca de

El uso de este sitio constituye la aceptación de los términos y política de privacidad de eHow. Ad Choices es-US

Demand Media