y agrego tambien hay clases lista hechas y con templates y todo eso....<br>David<br><br><div class="gmail_quote">El 28 de mayo de 2009 22:59, David fire <span dir="ltr"><<a href="mailto:ddfire@gmail.com">ddfire@gmail.com</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Esta clarisimo que tenes toda la razon del mundo cuando se trarta de caracters.<br>quice hacerlo un poco mas extensivo para otros tipos de datos.<br>
David<br><br><div class="gmail_quote">El 28 de mayo de 2009 18:44, Programante <span dir="ltr"><<a href="mailto:programante@gmail.com" target="_blank">programante@gmail.com</a>></span> escribió:<div><div></div><div class="h5">
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">David fire escribió:<br>
<div>> Hola<br>
> no se para que haces lo del arreglo dinamico si es para una clase o<br>
> para un trabajo o por gusto.<br>
> pero la realidad es que no hay arreglos dinamicos y "hacer" uno<br>
> copiando y borrando no es lo mejor, el coste en performance es<br>
> altisimo. cada vez que queres agregar tenes que crear un nuevo arreglo<br>
> en el heap copiar el viejo y borrar el viejo la parte de copiar es<br>
> costosa en tiempo de pc.<br>
> si lo vas a hacer asi al menos crealo con espacio extra.<br>
><br>
> si prefiers hacerlo bien la forma es una lista.<br>
> con una lista lo que haces es tenes cada elemento apunta al siguiente<br>
> y el ultimo apunta a null cuando queres agregar un elemento lo pones<br>
> al final y el que apuntaba a null ahora apunta al nuevo elemento. por<br>
> una cuestion de velocidad siempre guardas un puntero al al ultimo<br>
> elemento.<br>
> y para notener que apuntar al anterior y al siguiente tambien guardas<br>
> un puntero al primero.<br>
><br>
> aparte de la ventaja de no tener que copiar todo el arreglo podes<br>
> sacar elementos del medio sin problema o podes agregar en el medio sin<br>
> tener que copiar todo el arreglo.<br>
><br>
> como lo estas haciendo con C++ podes sobre cargar los [] y el = y etc<br>
> para recorrerlo como un arreglo como a tu objeto lista.<br>
><br>
> Saludos<br>
> David<br>
<br>
</div>En realidad, como se están usando cadenas en C++, lo mejor (EMHO) sería<br>
utilizar la clase stl::string, que ya se encarga de todo.<br>
<br>
#include <iostream><br>
<br>
#include <string><br>
<div><br>
using namespace std;<br>
<br>
int main(void)<br>
<br>
{<br>
<br>
</div>int n, i;<br>
string Caracteres;<br>
<br>
cout << "Ingrese: ";<br>
<br>
cin >> n;<br>
<br>
<br>
Caracteres.resize(n);<br>
<br>
for(i=0; i < n; i++)<br>
<br>
  Caracteres[i] = 'a';<br>
<br>
<br>
Caracteres.resize(n + 1);<br>
<br>
Caracteres[i] = 'b';<br>
<br>
cout << Caracteres << endl;<br>
<br>
}<br>
<br>
<br>
<br>
O si preferimos usar más a fondo las posibilidades de la STL:<br>
<br>
<br>
#include <algorithm><br>
<br>
#include <iostream><br>
<br>
#include <string><br>
<div><br>
using namespace std;<br>
<br>
int main(void)<br>
<br>
{<br>
<br>
int n, i = 0;<br>
</div>string Caracteres;<br>
<br>
cout << "Ingrese: ";<br>
<br>
cin >> n;<br>
<br>
<br>
Caracteres.resize(n);<br>
<br>
fill(Caracteres.begin (), Caracteres.end (), 'a');<br>
<br>
Caracteres.push_back('b');<br>
<br>
cout << Caracteres << endl;<br>
<br>
<br>
}<br>
<br>
<br>
Para este ejemplo se podría simplemente reservar los n+1 al principio,<br>
pero supongo que es la simplificación de algún otro.<br>
<div><div></div><div><br>
<br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net" target="_blank">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</div></div></blockquote></div></div></div><br><br clear="all"><div><div></div><div class="h5"><br>-- <br> (\__/) <br>(='.'=)This is Bunny. Copy and paste bunny into your <br>(")_(")signature to help him gain world domination. <br>
<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br> (\__/) <br>(='.'=)This is Bunny. Copy and paste bunny into your <br>(")_(")signature to help him gain world domination. <br><br>