Informatica
#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 ==...
Regístrate para leer el documento completo.