Brown. Postado Março 25, 2010 Denunciar Share Postado Março 25, 2010 Quero implementar a função de ordenação SelectionSort no contextode vetores dinâmicos. Deve funcionar para listas encadeadas.A entrada/saıda do programa deve ser feita por arquivo.Segue meu codigo com vetores dinâmicos,como ficaria para listas encadeadas?#include <stdio.h> #include <stdlib.h> void SelectionSort(int a[], int array_size); int Leitura_Dinamica_Arquivo_Inteiros(char *nome_arquivo, int *numeros[], int *tamanho); int main(int argc, char *argv[]) { //FILE *arquivo; int *numero; int j, lidos = 10; if(argc < 2) { printf("\nErro: Digite o nome do arquivo !!!\n\n"); exit(1); } if (Leitura_Dinamica_Arquivo_Inteiros(argv[1], &numero, &lidos)) //se memoria alocada? { printf("\n\nQuantidade de numeros lidos: %d\n", lidos); printf("Os numeros são:\n"); for(j=0; j<lidos; j++) { printf("numero[%d] = %d\n", j, numero[j]); } printf("\nOs numeros ordenados:\n"); SelectionSort(numero, lidos); for(j=0; j<lidos; j++) { printf("numero[%d] = %d\n", j, numero[j]); } } free(numero); return(0); } int Leitura_Dinamica_Arquivo_Inteiros(char *nome_arquivo, int *numeros[], int *tamanho) { FILE *arquivo; int lidos = 0; if((arquivo = fopen(nome_arquivo,"r")) == NULL) { printf("Erro ao abrir arquivo!!!\n\n"); exit(1); } fscanf(arquivo, "%d", tamanho); int *ptr = (int *) malloc((*tamanho) * sizeof(int)); if(ptr == NULL) return 0; //memoria não alocada lidos = 0; while (fscanf(arquivo, "%d", &ptr[lidos]) == 1) { lidos++; } fclose(arquivo); *numeros = ptr; return 1; } void SelectionSort(int a[], int array_size) { int i; for (i = 0; i < array_size - 1; ++i) { int j, min, temp; min = i; for (j = i+1; j < array_size; ++j) { if (a[j] < a[min]) min = j; } temp = a[i]; a[i] = a[min]; a[min] = temp; } } Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Brown.
Quero implementar a função de ordenação SelectionSort no contexto
de vetores dinâmicos. Deve funcionar para listas encadeadas.
A entrada/saıda do programa deve ser feita por arquivo.
Segue meu codigo com vetores dinâmicos,
como ficaria para listas encadeadas?
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.