Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Listas c++

Estas en el tema de Listas c++ en el foro de C/C++ en Foros del Web. Hola gente tengo una duda. necesito ingresar una linea de datos en una lista hasta ahi todo bien, por ejemplo "me llamo pablo, linea 1", ...
  #1 (permalink)  
Antiguo 29/09/2015, 18:06
 
Fecha de Ingreso: abril-2015
Mensajes: 16
Antigüedad: 9 años
Puntos: 0
Listas c++

Hola gente tengo una duda.

necesito ingresar una linea de datos en una lista hasta ahi todo bien, por ejemplo "me llamo pablo, linea 1", "como estan, linea 2".
Hasta ahi todo bien mi pregunta es como hago yo si me vuelven a ingresar algo en la linea 1 para mover un lugar lo que ya tengo ingresado??

Desde ya muhcas gracias.
  #2 (permalink)  
Antiguo 30/09/2015, 00:01
 
Fecha de Ingreso: febrero-2015
Mensajes: 404
Antigüedad: 9 años, 2 meses
Puntos: 3
Respuesta: Listas c++

No mueves un lugar. En las listas enlazadas cada elemento tiene un puntero al siguiente. Si por ejemplo tienes 2 elementos y quieres colocar uno en el segundo lugar y desplazar el que esta en segundo lugar al tercero lo que haces es que el puntero que apunta al siguiente del primer miembro debe apuntar al nuevo elemento y el del nuevo tiene que apuntar al que era segundo antes. También es bueno crearte una estructura que guarde un puntero al primer elemento y otro al último.
  #3 (permalink)  
Antiguo 02/10/2015, 07:12
 
Fecha de Ingreso: junio-2014
Mensajes: 144
Antigüedad: 9 años, 10 meses
Puntos: 1
Respuesta: Listas c++

Hola, bueno hay varias formas de hacer eso, pienso que la más fácil y que puedes entender rápido es usar los objetos list de la librería standar del mismo nombre (#include<list>). Básicamente son estructuras que almacenan información de cualquier tipo, int, string e incluso estructuras que previamente has definido tu.

Estas listas tienen funciones miembro que te permiten incluir dentro de tu lista un nuevo objeto, o bien poner un nuevo elemento al final o al principio de la lista:

Código C++:
Ver original
  1. #include <list>
  2. #include <string>
  3. #include <iostream>
  4. using namespace std;
  5.  
  6. int main(){
  7.     list<int> l;
  8.     l.push_back(1);     // Poner un elemento "1"
  9.     l.push_back(3);     // Poner un elemento "3" luego del "1"
  10.     l.push_back(8);     // Poner un elemento "8" luego del "3"
  11.     l.push_back(210);
  12.     l.push_back(10000);
  13.     list<int>::iterator it = l.begin(); //definí un iterador en el incio de l
  14.     it++;
  15.     it++;
  16.     it++;   // puse el iterador dela posición 0 a la 3 donde está el 210
  17.     l.insert(it, -1);   //insertar en it un -1
  18.    
  19.     for (it = l.begin(); it != l.end(); it++){  //mostrar lista
  20.         cout << *it << endl;
  21.     }
  22.  
  23.     cin.get();
  24.     return 0;
  25. }

Pero te recomiendo que leas acerca de punteros y manejo de listas. Para más detalle visita la página oficial de dicha librería:
http://www.cplusplus.com/reference/list/list/

Saludos
  #4 (permalink)  
Antiguo 03/10/2015, 10:20
 
Fecha de Ingreso: abril-2015
Mensajes: 16
Antigüedad: 9 años
Puntos: 0
Respuesta: Listas c++

Gracias a ambos.
Saludos

Etiquetas: listas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:32.