Programación General > C/C++

 Re: LISTA DOBLEMENTE ENLAZADA

(1/2) > >>

LUCI_FER:
NECESITO HACER ESTA FUNCION KE ME INTERCAMBIE LOS ELEMENTOS KE RECIBE COMO PARAMETROS, ALGUIEN ME ECHA UNA MANO?
void intercambiar ( tipodatos *arg1, tipodatos *arg2)

ESTA ES LA ESTRUCTURA:
typedef struct tipodatos
{
   double tllegada;
   double tdemandado;
   struct tipodatos *sgte;
   struct tipodatos *ant;
}tipodatos;

dheak:
A ver si es esto:

void intercambio(tipodatos *arg1, tipodatos *arg2)
{
  tipodatos temp;
  temp.tllegada = arg1->tllegada;
  temp.tdemandado = arg1->tdemandado;
  temp.sgte = arg1->sgte;
  temp.ant = arg1->ant;
  arg1->tllegada = arg2->tllegada;
  arg1->tdemandado = arg2->tdemandado;
  arg1->sgte = arg2->sgte;
  arg1->ant = arg2->ant;
  arg2->tllegada = arg1->tllegada;
  arg2->tdemandado = arg1->tdemandado;
  arg2->sgte = arg1->sgte;
  arg2->ant = arg1->ant;
}

Es un poco burraco el algoritmillo pero supongo que funciona.;). No se si existira alguna funcion que te copie estructuras enteras, pero bueno, al fin y al cabo acabara por ser lo mismo. Espero haberte ayudado.

Saludos.

dheak:
oops, lo siento, problemas con el copiar pegar. je je. Este es el codigo:

void intercambio(tipodatos *arg1, tipodatos *arg2)
{
 tipodatos temp;
 temp.tllegada = arg1->tllegada;
 temp.tdemandado = arg1->tdemandado;
 temp.sgte = arg1->sgte;
 temp.ant = arg1->ant;
 arg1->tllegada = arg2->tllegada;
 arg1->tdemandado = arg2->tdemandado;
 arg1->sgte = arg2->sgte;
 arg1->ant = arg2->ant;
 arg2->tllegada = temp.tllegada;
 arg2->tdemandado = temp.tdemandado;
 arg2->sgte = temp.sgte;
 arg2->ant = temp.ant;
}

Ahora si. Ta luego.

dheak:
oops, lo siento, problemas con el copiar pegar. je je. Este es el codigo:

void intercambio(tipodatos *arg1, tipodatos *arg2)
{
 tipodatos temp;
 temp.tllegada = arg1->tllegada;
 temp.tdemandado = arg1->tdemandado;
 temp.sgte = arg1->sgte;
 temp.ant = arg1->ant;
 arg1->tllegada = arg2->tllegada;
 arg1->tdemandado = arg2->tdemandado;
 arg1->sgte = arg2->sgte;
 arg1->ant = arg2->ant;
 arg2->tllegada = temp.tllegada;
 arg2->tdemandado = temp.tdemandado;
 arg2->sgte = temp.sgte;
 arg2->ant = temp.ant;
}

Ahora si. Ta luego.

LUCI_FER:
asi lo puse yo pero me pierde un nodo, y si los ke le mando son el primero y el ultimo de la lista se peta

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa