Classifica Vetor
Publicado por Ricardo Sousa Guimarães 23/05/2007
[ Hits: 5.536 ]
Download Script_Classifica.TXT
E aí pessoal do VOL!
Como essa é minha primeira contribuição, espero que vocês me perdoem os erros que possam aparecer, mas eu resolvi enviar um algoritmo que fiz aqui na faculdade na aula de Estrutura de Dados.
Ele funciona ordenando os valores dos vetores do menor para o maior.
#include <stdio.h> //Constantes #define TAM 15 #define F 0 #define V 1 //Definicao do tipo logico typedef int logico; //Definicao dos prototipos void particao(int[], int, int, int*); void quicksort(int[], int, int, int); void le(int[], int); void imprime(int[],int); main() { int v[TAM], i, f; //Leitura do vetor desordenado le(v,TAM); //Ordenacao do vetor f=TAM-1; i=0; quicksort(v,TAM,i,f); //Impressao do vetor ordenado imprime(v,TAM); return 0; } void particao(int c[], int inicio, int fim, int*k) { int i1,f1,ch; logico esq; i1=inicio; f1=fim; ch=c[inicio]; esq=V; while(i1<f1) { if(esq) { if(ch>c[f1]) { c[i1]=c[f1]; c[f1]=ch; i1++; esq=F; } else { f1--; } } else { if(ch<c[i1]) { c[f1]=c[i1]; f1--; esq=V; } else { i1++; } } } c[i1]=ch; *k=i1; } void quicksort(int c[], int tam, int i, int f) { int k,n; if(f>i) { particao(c,i,f,&k); quicksort(c,n,i,k-1); quicksort(c,n,k+1,f); } } void le(int v[], int tam) { int i; for (i=0;i<tam;i++) { printf("Digite o valor do elemento v[%d]\n",i); scanf("%d",&v[i]); } } void imprime(int v[],int tam) { int i; for(i=0;i<tam;i++) { printf("O valor do vetor na posicao v[%d]=%d\n",i,v[i]); } }
2 Programinhas em C para conversão de bases
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Quebra de linha na data e hora no Linux Mint
Organizando seus PDF com o Zotero
tentando instalar em um notebook antigo o Linux LegacyOS_2023... [RESO... (9)
Problema com Conexão Outlook via Firewall (OpenSUSE) com Internet Fibr... (5)