Informatica

Solo disponible en BuenasTareas
  • Páginas : 5 (1136 palabras )
  • Descarga(s) : 9
  • Publicado : 15 de agosto de 2010
Leer documento completo
Vista previa del texto
Programa1: lista enlazada insertando por el final

#include

#include

#include

/*LISTA ENLAZADA INSERTANDO POR EL FINAL*/

typedef struct node {

int num;

struct node *next;

} Node, *NodePtr;

void printlist(NodePtr top)

{ printf("lista enlazada ");

while(top!=NULL){ /*mientras apuntador no sea nulo*/

printf("%d ", top->num);

top =top -> next; /*va al siguiente nodo*/

} }

main()

{

int n;

NodePtr top, nuevo, last;

printf("LISTA ENLAZADA INSERTANDO POR EL FINAL\n");

printf("inicio\n");

top = NULL;

printf("dar un n£mero para ingresar en la lista salida con 0\n");

if( scanf("%d", &n) != 1 ) n = 0;

printf("le¡ n= %d\n", n);

while ( n != 0) {

nuevo = (Node*)malloc( sizeof( Node ));printf("se creo la variable new\n");

nuevo -> num = n;

printf("valor de nuevo->num %d %d\n", nuevo->num, n);

nuevo -> next = NULL;

if (top == NULL) /*primer n£mero*/

top = last = nuevo;

else {

last -> next = nuevo; /*ultimo nodo apunta al nuevo nodo*/

last = nuevo; /*hace que el nuevo nodo sea el £ltimo*/

}

printf("dame el siguientenumero\n");

if ( scanf( "%d", &n) != 1 ) n = 0; }

printf("tratare de imprimir top->num = %d \n", top->num);

printlist( top );

system("pause");

}

[pic]

Programa 2 : lista enlazada insertando por el inicio

#include

#include

#include

/*LISTA ENLAZADA INSERTANDO POR EL INICIO*/

typedef struct node {

int num;

struct node *next;

} Node, *NodePtr;void printlist(NodePtr top)

{

printf("lista enlazada ");

while(top!=NULL){ /*mientras apuntador no sea nulo*/

printf("%d ", top->num);

top = top -> next; /*va al siguiente nodo*/

}

}

main()

{

int n;

NodePtr top, nuevo;

printf("LISTA ENLAZADA INSERTANDO POR EL INICIO\n");

printf("inicio\n");

top = NULL;

printf("dar un n£meropara ingresar en la lista salida con 0\n");

if( scanf("%d", &n) != 1 ) n = 0;

printf("le¡ n= %d\n", n);

while ( n != 0) {

nuevo = (Node*)malloc( sizeof( Node ));

printf("se creo la variable new\n");

nuevo -> num = n;

printf("valor de nuevo->num %d %d\n", nuevo->num, n);

nuevo -> next = top;

top = nuevo;

printf("dame el siguiente numero\n");

if ( scanf("%d", &n) != 1 ) n = 0;

}

printf("tratare de imprimir top->num = %d \n", top->num);

printlist( top );

system("pause");

}

[pic]

Programa 3: lista enlazada ordenada

#include

#include

#include

typedef struct node {

int num;

struct node *next;

} Node, *NodePtr;

void printlist(NodePtr top)

{

printf("lista enlazada ORDENADA ");printf("entre a imprimir\n");

while(top != NULL){ /*mientras apuntador no sea nulo*/

printf("%d ", top->num);

top = top -> next; /*va al siguiente nodo*/ }

}

NodePtr insertlist (NodePtr top, int n)

{

NodePtr nuevo, p, pp;

nuevo = (Node*)malloc(sizeof(Node));

nuevo -> num = n;

if(top == NULL) {

nuevo -> next = NULL;

return nuevo;}

else { if (n num) {

nuevo -> next = top;

return nuevo; }

else

pp = top;

p = top -> next;

while (p != NULL && n > p -> num){

pp = p;

p = p->next;

}

pp->next = nuevo;

nuevo -> next = p;

return top; } }

main()

{

int n;

NodePtr top;

printf("LISTAENLAZADA ORDENADA\n");

printf("inicio\n");

top = NULL;

printf("dar un numero para ingresar en la lista salida con 0\n");

if( scanf("%d", &n) != 1 ) n = 0;

printf("le¡ n= %d\n", n);

while ( n != 0) {

top = insertlist(top, n);

printf("dame el siguiente numero\n");

if ( scanf( "%d", &n) != 1 ) n = 0;

}

if ( top ==...
tracking img