Classifica Vetor
Publicado por Ricardo Sousa Guimarães 23/05/2007
[ Hits: 5.390 ]
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]); } }
Nenhum comentário foi encontrado.
Atenção a quem posta conteúdo de dicas, scripts e tal (6)
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
O mínimo que você precisa saber sobre o terminal (parte 2)
O mínimo que você precisa saber sobre o terminal (parte 1)
Como iniciar uma máquina virtual do VirtualBox automaticamente no boot do LUbuntu 18 LTS
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como deixar as abas do Firefox mais fininhas
Mudar o gerenciador de login (GDM para SDDM)
"Tentando" fazer com que programas rodem no Wayland e no X11
Utilização sistema operacional - Linux (1)
Impressora SAMSUNG não habilita/impr... (0)
[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