<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comentarios en: Estructuras de datos y algoritmos en C/C++: Listas y Colas</title>
	<atom:link href="http://www.wanderingbit.com/2008/10/13/estructuras-de-datos-y-algoritmos-en-cc-listas-y-colas/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.wanderingbit.com/2008/10/13/estructuras-de-datos-y-algoritmos-en-cc-listas-y-colas/</link>
	<description>Scripts, Programación, PHP, C/C++, algoritmos, estructuras de datos, tutoriales, recursos, novedades de Internet.</description>
	<lastBuildDate>Wed, 30 Jun 2010 13:20:37 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Por: marcela hernandez</title>
		<link>http://www.wanderingbit.com/2008/10/13/estructuras-de-datos-y-algoritmos-en-cc-listas-y-colas/comment-page-1/#comment-106</link>
		<dc:creator>marcela hernandez</dc:creator>
		<pubDate>Mon, 26 Oct 2009 15:56:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.wanderingbit.com/?p=15#comment-106</guid>
		<description>hola m perdonaras pero esq necesito un favor....
bueno en fin esq tengo que hacer un inventario q utilice listas colas y pilas y pues necesito saber como pasar un dato de una cola antiga a una nueva,,,,, me ayudarias... bueno hay va el codigo para ver q se puede hacer... gracias

#include &quot;iostream&quot;
#include &quot;stdlib.h&quot;
#include &quot;stdio.h&quot;
#include &quot;string&quot;
#include &quot;conio.h&quot;


using namespace std;
int opc;
typedef struct _nodo{
        int identificacion;
        char nombre[40];
        int cantidad;
        int costo;
        char fecha[40];
        struct _nodo *siguiente;
} tipoNodo;
typedef tipoNodo *pNodo; /*prueba siguiente apunta a Null*/
typedef tipoNodo *Lista;
Lista lista=NULL; /*Lista a punta a prueba*/
pNodo p;
//funciones
int listavacia(Lista l);
void Insertar(Lista *l, int pidentificacion , char pnombre[40],int pcantidad, int pcosto, char pfecha[40]);
void Insertar2(Lista *l, int pidentificacion , char pnombre[40],int pcantidad, int pcosto, char pfecha[40]);
void insertarproducto();
void insertarproducto2();
void MostrarLista(Lista l);
void buscar(Lista *lista, int aux);

typedef struct nodo {
        int identificacion;
        char nombre[40];
        int cantidad;
        int costo;
        char fecha[40];
        struct nodo *siguiente;
        } tipoNodop;

typedef tipoNodop *pNodop;
typedef tipoNodop *Pila;
Pila pila = NULL;

void Insertar(Pila *p, int pcantidad, int pcosto, char pfecha[40]);
void Insertar2(Pila *p, int pcantidad, int pcosto, char pfecha[40]);
int pilavacia(Pila p);
void Mostrarpila(Pila p);

int main()
{
   
    int op,pcodigo,n,aux;
    int dato,pago;
    do{
        op=0;
        system(&quot;cls&quot;);

    cout&lt;&lt;&quot;\t\tMENU&quot;&lt;&lt;endl;
    cout&lt;&lt;&quot;\t2.Comprar PRODUCTO&quot;&lt;&lt;endl;
    cout&lt;&lt;&quot;\t3.mostrar informe PRODUCTO&quot;&lt;&lt;endl;
    cout&lt;&lt;&quot;\t2.MOSTRAR INFORME&quot;&lt;&lt;endl;    
    cout&lt;&lt;&quot;\t4.mostrar pila&quot;&lt;&lt;endl;

    cout&lt;&gt;op;
    system(&quot;cls&quot;);
    switch(op){
               case 1: 
                    cout&lt;&lt;&quot;\t\t____________________________________&quot;&lt;&lt;endl;
                    cout&lt;&lt;&quot;\t\t\tCREAR PRODUCTO&quot;&lt;&lt;endl;
                    cout&lt;&lt;&quot;\t\t____________________________________&quot;&lt;&lt;endl;
                    insertarproducto();
                    
                    break;
               case 2:
                    cout&lt;&lt;&quot;\t\t\tCOMPRAR PRODUCTO&quot;&lt;&lt;endl;
                    cout&lt;&gt;aux; 
                    buscar(&amp;lista,aux);
                    
                    insertarproducto2();
                    
                    break;
                    
                    break;    
               case 3:
                    cout&lt;&lt;&quot;\t\t\t MOSTRAR INFORME&quot;&lt;&lt;endl;
                    MostrarLista(lista);
                    break;  
               case 4:
                    cout&lt;&lt;&quot;GRACIAS POR UTILIZAR NUESTROS SERVICIOS&quot;&lt;&lt;endl;
                    Mostrarpila(pila);
                    system(&quot;pause&quot;);
                    break; 
               }

    }while(op!=5);
    system(&quot;cls&quot;);

  getch();

}



void insertarproducto(){
     int aidentificacion;
     char anombre[40];
     int acantidad;
     char afecha[40];
     int acosto;
     cout&lt;&gt;aidentificacion;
     cout&lt;&gt;anombre;
     cout&lt;&gt;acantidad;
     cout&lt;&gt;afecha;
     cout&lt;&gt;acosto;
      Insertar(&amp;lista, aidentificacion,anombre,acantidad,acosto,afecha);
     }
     void Insertar(Lista *lista, int pidentificacion, char pnombre[40], int pcantidad,int pcosto, char pfecha[40]){
          pNodo nuevo, anterior;
          //crear un nuevo nodo
          nuevo = (pNodo)malloc(sizeof(tipoNodo));
          nuevo-&gt;identificacion = pidentificacion;
          strcpy(nuevo-&gt;nombre,pnombre);
          nuevo-&gt;cantidad=pcantidad;
          strcpy(nuevo-&gt;fecha,pfecha);
          nuevo-&gt;costo = pcosto;
          /*si lista esta vacia*/
          if(listavacia(*lista) &#124;&#124; (*lista)-&gt;identificacion&gt;pidentificacion){
          /*añadimos el nuevo nodo*/
          nuevo-&gt;siguiente = *lista;
          /*ahora el comienzo de nuestra lista es un nuevo nodo*/
          *lista = nuevo;
          }
          else {
               anterior = *lista;
               while(anterior-&gt;siguiente &amp;&amp; anterior-&gt;siguiente-&gt;identificacion siguiente;
               nuevo-&gt;siguiente = anterior-&gt;siguiente;
               anterior-&gt;siguiente = nuevo;
               }
}


  
 void insertarproducto2(){
     char anombre[40];
     int aidentificacion;
     int acantidad;
     char afecha[40];
     int acosto;

     cout&lt;&gt;acantidad;
     cout&lt;&gt;afecha;
     cout&lt;&gt;acosto;
      Insertar(&amp;lista, aidentificacion,anombre,acantidad,acosto,afecha);
      }
     void Insertar2(Lista *lista, int pidentificacion, char pnombre[40], int pcantidad,int pcosto, char pfecha[40]){
          pNodo nuevo, anterior;
          //crear un nuevo nodo
          nuevo = (pNodo)malloc(sizeof(tipoNodo));
          nuevo-&gt;identificacion = pidentificacion;
          strcpy(nuevo-&gt;nombre,pnombre);
          nuevo-&gt;cantidad=pcantidad;
          strcpy(nuevo-&gt;fecha,pfecha);
          nuevo-&gt;costo = pcosto;
          /*si lista esta vacia*/
          if(listavacia(*lista) &#124;&#124; (*lista)-&gt;identificacion&gt;pidentificacion){
          /*añadimos el nuevo nodo*/
          nuevo-&gt;siguiente = *lista;
          /*ahora el comienzo de nuestra lista es un nuevo nodo*/
          *lista = nuevo;
          }
          else {
               anterior = *lista;
               while(anterior-&gt;siguiente &amp;&amp; anterior-&gt;siguiente-&gt;identificacion siguiente;
               nuevo-&gt;siguiente = anterior-&gt;siguiente;
               anterior-&gt;siguiente = nuevo;
               }
}





  int listavacia(Lista lista) {
      return (lista == NULL);
}              


 void MostrarLista(Lista lista) {
      int pago;
    
     pNodo nodo = lista;
              if(listavacia(lista)) cout&lt;&lt;&quot;Lista vacía \n&quot;;
             else {
                   
                   
                    while(nodo) {
                        
                    cout&lt;&lt;&quot;\tCodigo\tNombre\tfecha\tCantidad\tprecio&quot;&lt;&lt;endl;
                    cout&lt;&lt;&quot;\t  &quot;&lt;identificacion&lt;&lt;&quot;\t  &quot;&lt;nombre&lt;&lt;&quot;\t  &quot;&lt;cantidad&lt;&lt;&quot;\t  &quot;&lt;fecha&lt;&lt;&quot;\t\t  &quot;&lt;costo&lt;&lt;endl;
                        cout&lt;siguiente;
                          }
                         
                               cout&lt;identificacion siguiente;
                }
     if(!nodo &#124;&#124; nodo-&gt;identificacion !=aux){
              cout&lt;&lt;&quot;\tNO HAY COINCIDENCIAS&quot;&lt;&lt;endl;
              cout&lt;&lt;&quot;\tO ES POSIBLE QUE NO HAYA DATOS&quot;&lt;&lt;endl;
              }
     else{
          cout&lt;&lt;&quot;\tNOMBRE DE EL PRODUCTO:&quot;&lt;nombre&lt;cantidad=pcantidad;
          nuevo-&gt;costo = pcosto;
          strcpy(nuevo-&gt;fecha,pfecha);
          /*si lista esta vacia*/
          if(pilavacia(*p) &#124;&#124; (*p)-&gt;cantidad&gt;pcantidad){
          /*añadimos el nuevo nodo*/
          nuevo-&gt;siguiente = *p;
          /*ahora el comienzo de nuestra lista es un nuevo nodo*/
          *p = nuevo;
          }
          else {
               anterior = *p;
               while(anterior-&gt;siguiente &amp;&amp; anterior-&gt;siguiente-&gt;cantidad siguiente;
               nuevo-&gt;siguiente = anterior-&gt;siguiente;
               anterior-&gt;siguiente = nuevo;
               }
}

 void Mostrarpila(Pila p) {
	
	 pNodop nodo = p;
	 		 if(pilavacia(p)) cout&lt;&lt;&quot;Lista vacía \n&quot;;
			 else {
			 	  
			 	  
			 	   while(nodo) {
						 
					
						 
                      cout&lt;&lt;&quot;\tDIRRECCION DEL ESTUDIANTE:  &quot;&lt;cantidad&lt;&lt;endl;
                       cout&lt;&lt;&quot;\tTELEFONO DEL ESTUDIANTE:  &quot;&lt;fecha&lt;&lt;endl;
                        cout&lt;&lt;&quot;\tCARRERA DEL ESTUDIANTE:  &quot;&lt;costo&lt;&lt;endl;
                        cout&lt;siguiente;
						    system(&quot;pause&quot;);
						  }
						 
						  	 cout&lt;&lt;&quot;\n&quot;;
						  	 system(&quot;pause&quot;);
						 
					
			 }
}</description>
		<content:encoded><![CDATA[<p>hola m perdonaras pero esq necesito un favor&#8230;.<br />
bueno en fin esq tengo que hacer un inventario q utilice listas colas y pilas y pues necesito saber como pasar un dato de una cola antiga a una nueva,,,,, me ayudarias&#8230; bueno hay va el codigo para ver q se puede hacer&#8230; gracias</p>
<p>#include &#8220;iostream&#8221;<br />
#include &#8220;stdlib.h&#8221;<br />
#include &#8220;stdio.h&#8221;<br />
#include &#8220;string&#8221;<br />
#include &#8220;conio.h&#8221;</p>
<p>using namespace std;<br />
int opc;<br />
typedef struct _nodo{<br />
        int identificacion;<br />
        char nombre[40];<br />
        int cantidad;<br />
        int costo;<br />
        char fecha[40];<br />
        struct _nodo *siguiente;<br />
} tipoNodo;<br />
typedef tipoNodo *pNodo; /*prueba siguiente apunta a Null*/<br />
typedef tipoNodo *Lista;<br />
Lista lista=NULL; /*Lista a punta a prueba*/<br />
pNodo p;<br />
//funciones<br />
int listavacia(Lista l);<br />
void Insertar(Lista *l, int pidentificacion , char pnombre[40],int pcantidad, int pcosto, char pfecha[40]);<br />
void Insertar2(Lista *l, int pidentificacion , char pnombre[40],int pcantidad, int pcosto, char pfecha[40]);<br />
void insertarproducto();<br />
void insertarproducto2();<br />
void MostrarLista(Lista l);<br />
void buscar(Lista *lista, int aux);</p>
<p>typedef struct nodo {<br />
        int identificacion;<br />
        char nombre[40];<br />
        int cantidad;<br />
        int costo;<br />
        char fecha[40];<br />
        struct nodo *siguiente;<br />
        } tipoNodop;</p>
<p>typedef tipoNodop *pNodop;<br />
typedef tipoNodop *Pila;<br />
Pila pila = NULL;</p>
<p>void Insertar(Pila *p, int pcantidad, int pcosto, char pfecha[40]);<br />
void Insertar2(Pila *p, int pcantidad, int pcosto, char pfecha[40]);<br />
int pilavacia(Pila p);<br />
void Mostrarpila(Pila p);</p>
<p>int main()<br />
{</p>
<p>    int op,pcodigo,n,aux;<br />
    int dato,pago;<br />
    do{<br />
        op=0;<br />
        system(&#8220;cls&#8221;);</p>
<p>    cout&lt;&lt;&#8221;\t\tMENU&#8221;&lt;&lt;endl;<br />
    cout&lt;&lt;&#8221;\t2.Comprar PRODUCTO&#8221;&lt;&lt;endl;<br />
    cout&lt;&lt;&#8221;\t3.mostrar informe PRODUCTO&#8221;&lt;&lt;endl;<br />
    cout&lt;&lt;&#8221;\t2.MOSTRAR INFORME&#8221;&lt;&lt;endl;<br />
    cout&lt;&lt;&#8221;\t4.mostrar pila&#8221;&lt;&lt;endl;</p>
<p>    cout&lt;&gt;op;<br />
    system(&#8220;cls&#8221;);<br />
    switch(op){<br />
               case 1:<br />
                    cout&lt;&lt;&#8221;\t\t____________________________________&#8221;&lt;&lt;endl;<br />
                    cout&lt;&lt;&#8221;\t\t\tCREAR PRODUCTO&#8221;&lt;&lt;endl;<br />
                    cout&lt;&lt;&#8221;\t\t____________________________________&#8221;&lt;&lt;endl;<br />
                    insertarproducto();</p>
<p>                    break;<br />
               case 2:<br />
                    cout&lt;&lt;&#8221;\t\t\tCOMPRAR PRODUCTO&#8221;&lt;&lt;endl;<br />
                    cout&lt;&gt;aux;<br />
                    buscar(&amp;lista,aux);</p>
<p>                    insertarproducto2();</p>
<p>                    break;</p>
<p>                    break;<br />
               case 3:<br />
                    cout&lt;&lt;&#8221;\t\t\t MOSTRAR INFORME&#8221;&lt;&lt;endl;<br />
                    MostrarLista(lista);<br />
                    break;<br />
               case 4:<br />
                    cout&lt;&lt;&#8221;GRACIAS POR UTILIZAR NUESTROS SERVICIOS&#8221;&lt;&lt;endl;<br />
                    Mostrarpila(pila);<br />
                    system(&#8220;pause&#8221;);<br />
                    break;<br />
               }</p>
<p>    }while(op!=5);<br />
    system(&#8220;cls&#8221;);</p>
<p>  getch();</p>
<p>}</p>
<p>void insertarproducto(){<br />
     int aidentificacion;<br />
     char anombre[40];<br />
     int acantidad;<br />
     char afecha[40];<br />
     int acosto;<br />
     cout&lt;&gt;aidentificacion;<br />
     cout&lt;&gt;anombre;<br />
     cout&lt;&gt;acantidad;<br />
     cout&lt;&gt;afecha;<br />
     cout&lt;&gt;acosto;<br />
      Insertar(&amp;lista, aidentificacion,anombre,acantidad,acosto,afecha);<br />
     }<br />
     void Insertar(Lista *lista, int pidentificacion, char pnombre[40], int pcantidad,int pcosto, char pfecha[40]){<br />
          pNodo nuevo, anterior;<br />
          //crear un nuevo nodo<br />
          nuevo = (pNodo)malloc(sizeof(tipoNodo));<br />
          nuevo-&gt;identificacion = pidentificacion;<br />
          strcpy(nuevo-&gt;nombre,pnombre);<br />
          nuevo-&gt;cantidad=pcantidad;<br />
          strcpy(nuevo-&gt;fecha,pfecha);<br />
          nuevo-&gt;costo = pcosto;<br />
          /*si lista esta vacia*/<br />
          if(listavacia(*lista) || (*lista)-&gt;identificacion&gt;pidentificacion){<br />
          /*añadimos el nuevo nodo*/<br />
          nuevo-&gt;siguiente = *lista;<br />
          /*ahora el comienzo de nuestra lista es un nuevo nodo*/<br />
          *lista = nuevo;<br />
          }<br />
          else {<br />
               anterior = *lista;<br />
               while(anterior-&gt;siguiente &amp;&amp; anterior-&gt;siguiente-&gt;identificacion siguiente;<br />
               nuevo-&gt;siguiente = anterior-&gt;siguiente;<br />
               anterior-&gt;siguiente = nuevo;<br />
               }<br />
}</p>
<p> void insertarproducto2(){<br />
     char anombre[40];<br />
     int aidentificacion;<br />
     int acantidad;<br />
     char afecha[40];<br />
     int acosto;</p>
<p>     cout&lt;&gt;acantidad;<br />
     cout&lt;&gt;afecha;<br />
     cout&lt;&gt;acosto;<br />
      Insertar(&amp;lista, aidentificacion,anombre,acantidad,acosto,afecha);<br />
      }<br />
     void Insertar2(Lista *lista, int pidentificacion, char pnombre[40], int pcantidad,int pcosto, char pfecha[40]){<br />
          pNodo nuevo, anterior;<br />
          //crear un nuevo nodo<br />
          nuevo = (pNodo)malloc(sizeof(tipoNodo));<br />
          nuevo-&gt;identificacion = pidentificacion;<br />
          strcpy(nuevo-&gt;nombre,pnombre);<br />
          nuevo-&gt;cantidad=pcantidad;<br />
          strcpy(nuevo-&gt;fecha,pfecha);<br />
          nuevo-&gt;costo = pcosto;<br />
          /*si lista esta vacia*/<br />
          if(listavacia(*lista) || (*lista)-&gt;identificacion&gt;pidentificacion){<br />
          /*añadimos el nuevo nodo*/<br />
          nuevo-&gt;siguiente = *lista;<br />
          /*ahora el comienzo de nuestra lista es un nuevo nodo*/<br />
          *lista = nuevo;<br />
          }<br />
          else {<br />
               anterior = *lista;<br />
               while(anterior-&gt;siguiente &amp;&amp; anterior-&gt;siguiente-&gt;identificacion siguiente;<br />
               nuevo-&gt;siguiente = anterior-&gt;siguiente;<br />
               anterior-&gt;siguiente = nuevo;<br />
               }<br />
}</p>
<p>  int listavacia(Lista lista) {<br />
      return (lista == NULL);<br />
}              </p>
<p> void MostrarLista(Lista lista) {<br />
      int pago;</p>
<p>     pNodo nodo = lista;<br />
              if(listavacia(lista)) cout&lt;&lt;&#8221;Lista vacía \n&#8221;;<br />
             else {</p>
<p>                    while(nodo) {</p>
<p>                    cout&lt;&lt;&#8221;\tCodigo\tNombre\tfecha\tCantidad\tprecio&#8221;&lt;&lt;endl;<br />
                    cout&lt;&lt;&#8221;\t  &#8220;&lt;identificacion&lt;&lt;&#8221;\t  &#8220;&lt;nombre&lt;&lt;&#8221;\t  &#8220;&lt;cantidad&lt;&lt;&#8221;\t  &#8220;&lt;fecha&lt;&lt;&#8221;\t\t  &#8220;&lt;costo&lt;&lt;endl;<br />
                        cout&lt;siguiente;<br />
                          }</p>
<p>                               cout&lt;identificacion siguiente;<br />
                }<br />
     if(!nodo || nodo-&gt;identificacion !=aux){<br />
              cout&lt;&lt;&#8221;\tNO HAY COINCIDENCIAS&#8221;&lt;&lt;endl;<br />
              cout&lt;&lt;&#8221;\tO ES POSIBLE QUE NO HAYA DATOS&#8221;&lt;&lt;endl;<br />
              }<br />
     else{<br />
          cout&lt;&lt;&#8221;\tNOMBRE DE EL PRODUCTO:&#8221;&lt;nombre&lt;cantidad=pcantidad;<br />
          nuevo-&gt;costo = pcosto;<br />
          strcpy(nuevo-&gt;fecha,pfecha);<br />
          /*si lista esta vacia*/<br />
          if(pilavacia(*p) || (*p)-&gt;cantidad&gt;pcantidad){<br />
          /*añadimos el nuevo nodo*/<br />
          nuevo-&gt;siguiente = *p;<br />
          /*ahora el comienzo de nuestra lista es un nuevo nodo*/<br />
          *p = nuevo;<br />
          }<br />
          else {<br />
               anterior = *p;<br />
               while(anterior-&gt;siguiente &amp;&amp; anterior-&gt;siguiente-&gt;cantidad siguiente;<br />
               nuevo-&gt;siguiente = anterior-&gt;siguiente;<br />
               anterior-&gt;siguiente = nuevo;<br />
               }<br />
}</p>
<p> void Mostrarpila(Pila p) {</p>
<p>	 pNodop nodo = p;<br />
	 		 if(pilavacia(p)) cout&lt;&lt;&#8221;Lista vacía \n&#8221;;<br />
			 else {</p>
<p>			 	   while(nodo) {</p>
<p>                      cout&lt;&lt;&#8221;\tDIRRECCION DEL ESTUDIANTE:  &#8220;&lt;cantidad&lt;&lt;endl;<br />
                       cout&lt;&lt;&#8221;\tTELEFONO DEL ESTUDIANTE:  &#8220;&lt;fecha&lt;&lt;endl;<br />
                        cout&lt;&lt;&#8221;\tCARRERA DEL ESTUDIANTE:  &#8220;&lt;costo&lt;&lt;endl;<br />
                        cout&lt;siguiente;<br />
						    system(&#8220;pause&#8221;);<br />
						  }</p>
<p>						  	 cout&lt;&lt;&#8221;\n&#8221;;<br />
						  	 system(&#8220;pause&#8221;);</p>
<p>			 }<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Julito</title>
		<link>http://www.wanderingbit.com/2008/10/13/estructuras-de-datos-y-algoritmos-en-cc-listas-y-colas/comment-page-1/#comment-95</link>
		<dc:creator>Julito</dc:creator>
		<pubDate>Fri, 03 Jul 2009 06:59:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.wanderingbit.com/?p=15#comment-95</guid>
		<description>Hola, muy xvr tu pag, pero</description>
		<content:encoded><![CDATA[<p>Hola, muy xvr tu pag, pero</p>
]]></content:encoded>
	</item>
</channel>
</rss>
