Autor
|
Tema: funcion eliminar (Leído 5,366 veces)
|
mapers
Desconectado
Mensajes: 638
|
buenas señores del foro necesito con suma urgencia una funcion que sirva para eliminar un elememento de un arreglo,,,,,,,,, es para mi otro post lo estoy terminando ayudenme
|
|
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
. Usa memcpy() y solo dezplaza el bloque desde el (elemento a eliminar+1) hasta la (longitud - la pocision ya mensionada), de la siguiente manera:
Si usas un vector ( Arreglo que apuntan a mas elementos de distintas longitudes ) puedes hacer lo siguiente:
llamese T el elemento a eliminar. llamese L la longitud del vector. Libera lo que apunta la posicion T con free() o delete segun sea el caso. Mueve el bloque del arreglo desde (T+1) con longitud de (L-(T+1)) a la posicion T. Despues usa realloc() en el caso de C++ usa NEW y despues memcpy().
Notas: Si (T+1) es mayor a L es un error de segmentacion si es igual a L es el ultimo elemento y si es (L-(T+1)) = 0 entonces el vecto no tendra ningun elemento, faltan obviar mas cosas pero ya te lo dejo a tu disposicion.
Este simple algoritmo es rapido y es el que uso en vb6 solo que es mas simple ( Usando Punteros en vb6 obvio ).
Temibles Lunas!¡.
|
|
« Última modificación: 11 Marzo 2011, 10:28 am por BlackZeroX▓▓▒▒░░ »
|
En línea
|
The Dark Shadow is my passion.
|
|
|
|
|