batiguason_11
Bovino adicto
- Desde
- 27 Jun 2009
- Mensajes
- 703
- Tema Autor
- #1
Soy un noob programando usando listas ligadas y me surgio una duda al momento de ordenar una lista ligada por burbuja, creo mi funcion para hacerlo pero aparentemente no entra ni siquiera a la funcion me podrian ayudar o decirme si mis operaciones que realizo son correctas :S
Código:
#include<stdio.h>
#include <stdlib.h>
typedef struct insertar {
int x;
struct insertar *sig;
}NODO;
NODO *raiz,inicio;
void insertar_o (int a) {
raiz->sig=(NODO*)malloc(sizeof(NODO));
raiz=raiz->sig;
raiz->x=a;
raiz->sig=NULL;
}
void imprimir() {
while(raiz) {
printf("\nX= %i",raiz->x);
raiz=raiz->sig;
}
}
void burbuja() {
NODO *aux;
int i,l,temp;
raiz=inicio.sig;
aux=(NODO *)malloc(sizeof(NODO));
aux=raiz->sig;
for(i=1;i<10;i++)
for (l=1;l<10;l++) {
if (raiz->x > aux->x) {
temp=raiz->x;
raiz->x=aux->x;
raiz=raiz->sig;
raiz->x=temp;
aux=raiz->sig;
}
else {
raiz=raiz->sig;
aux=raiz->sig;
}
}
}
main() {
int y,j;
inicio.sig=NULL;
raiz=&inicio;
for (j=1;j<10;j++) {
printf("\nDame x ");
scanf("%i",&y);
insertar_o(y);
}
burbuja();
raiz=inicio.sig;
imprimir();
return 0;
}