Buscar

Inserção por seleção

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

#include<stdio.h>
typedef struct no No;
struct no{
 int n;
 No* prox;
 No* ant;
};
No* inserir(No* lista,int n){
 No*p;
 No* novo=(No*)malloc(sizeof(No*));
 novo->prox=NULL;
 if(lista!=NULL){
 p=lista;
 while(p->prox!=NULL)p=p->prox;
 p->prox=novo;
 lista->ant=p;
 }else{
 novo->ant=NULL;
 lista=novo;
 }
return(lista);
}
void imprimir(No* lista){
 No* p;
 if(lista!=NULL){
 p=lista;
 while(p!=NULL) p=p->prox;
 printf(" %d",p->n);
 }else{
 printf("lista vazia");
 }
}
No* selecao1(No* lista){
 No* min;
 No* i;
 No* j;
 int x;
 if(lista!=NULL){
 for(i=lista;i!=NULL;i=i->prox){
 for(j=i->prox;j!=NULL;j=j->prox){
 if(j->n<min->n) min=j;
 }
 x=i->n;
 i->n=min->n;
 min->n=x;
 imprimir(lista);
 }
 }
return(lista);
}
void selecao(int n, int v[]){
 int i,j,min,x;
 for(i=0;i<n-1;i++){
 min=i;
 for(j=i+1;j<n;j++){
 if(v[j]<v[min]) min=j;
 }
 x=v[i];
 v[i]=v[min];
 v[min]=x;
 }
}
int main(){
 No* lista=NULL;
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais