Classifica Vetor
Publicado por Ricardo Sousa Guimarães 23/05/2007
[ Hits: 5.399 ]
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]); } }
Fibonacci Recursivo e Não Recursivo
[C] Manipulação de vetores/ponteiros
Lista ligada simples, algoritmos de inserção, busca e impressão
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta