Ola estou com um problema de lista duplamente encadeada em c de ordena uma lista duplamente encadeada com insertionSort

0 respostas
Fabio_Santos2
struct lista{

int v;

struct lista* prox;

struct lista* ant;

};

typedef struct lista Lista;

//funcao de inserir

Lista* insere(Lista* l,int v){

Lista* novo =(Lista*)malloc(sizeof(Lista));
novo->v = v;
novo->prox = l;
novo->ant = NULL;
if(l != NULL)
	l->ant = novo;

return novo;
}

//imprime a lista

void imprime(Lista* l){

Lista* p = l;

for(p = l;p != NULL; p = p->prox){

printf("%d\n",p->v);

}

}

//funcao de ordenar a lista com inserion sort

void insertionSort(Lista* l){
Lista *p = l;//ponteiro q guarda a refericia para lista duplamente
Lista *q;//ponteiro auxliar 

int aux;//auxiliar  paraguarda o valor para comparar 

while(p->prox != NULL ){
	 p = p->prox;
					       
		
	  q = p;
		aux = p->v;

    while(q->ant != NULL && q->v > aux){// aqui era para ordenar os valores
			q->ant->v = q->v;//aqui nao esto sabendo oq bota acho q errado isso?

		}
		q->v = aux;aqui era para passa  valor para auxilia?


		

			
	
}

}

Criado 17 de novembro de 2017
Respostas 0
Participantes 1