.
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!¡.
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!¡.