Ordenação de vetor pelo método Bubblesort
Publicado por Eliab Coelho Venancio (última atualização em 29/11/2011)
[ Hits: 9.936 ]
Homepage: http://www.eliabvenancio.blogspot.com/
Este script faz a ordenação de vetor pelo método Bubblesort ordenando-o de forma crescente e decrescente.
Pessoal uso o NetBeans para compilá-lo quem usar algum outro faça as devidas modificações.
#include <iostream> #include <stdlib.h> #include <stdio.h> using namespace std; void bubblesortc(int vetor[], int size)//Método bubblesort para ordenar o vetor em ordem crescente { int tmp;//cria um variável do tipo inteiro com nome de tmp size=7;//seta o valor 7 no tamanho for (int i = 0; i < size; ++i) {//para i menor que tamanho ele repetira o processo for (int j = 0; j < size; ++j) {//para j menor que tamanho ele repetira o processo if (vetor[j] > vetor[j+1]) {//se o vetor índice j for maior que o vetor índice j+1 ele fará o seguinte processo //(ex: se vetor[0]=2 é maior vetor[1]=3)então ele fará o seguinte processo //Caso queira acompanhar o procedimento da ordenação só descomentar a linha abaixo //printf("\t%d,%d,%d,%d,%d,%d,%d,%d\n", vetor[0], vetor[1], vetor[2],vetor[3], vetor[4],vetor[5],vetor[6], vetor[7]); tmp = vetor[j+1];//a variável tmp receberá o valor de j+1(que é o posterior do que ele esta comparando) vetor[j+1] = vetor[j];//o vetor posterior(j+1) recebera o conteúdo de j(o qual ele está verificando) vetor[j] = tmp;//o vetor índice j receberá o conteúdo de tmp //Caso queira acompanhar o procedimento da ordenação só descomentar a linha abaixo //printf("\t%d,%d,%d,%d,%d,%d,%d,%d\n", vetor[0], vetor[1], vetor[2],vetor[3], vetor[4],vetor[5],vetor[6], vetor[7]); } //Caso queira acompanhar o procedimento da ordenação só descomentar a linha abaixo //printf("\t\t%d,%d,%d,%d,%d,%d,%d,%d\n", vetor[0], vetor[1], vetor[2],vetor[3], vetor[4],vetor[5],vetor[6], vetor[7]); } //Caso queira acompanhar o procedimento da ordenação só descomentar a linha abaixo(ajuda na visualização) //puts(""); } } void bubblesortd(int vetor[], int size)//Método bubblesort para ordenar o vetor em ordem decrescente { int tmp;//cria um variável do tipo inteiro com nome de tmp size=7;//seta o valor 7 no tamanho for (int i = 0; i < size; ++i) {//para i menor que tamanho ele repetira o processo for (int j = 0; j < size; ++j) {//para j menor que tamanho ele repetira o processo if (vetor[j] < vetor[j+1]) {//se o vetor índice j for menor que o vetor índice j+1 ele fará o seguinte processo //(ex: se vetor[0]=2 é maior vetor[1]=3)então ele fará o seguinte processo //Caso queira acompanhar o procedimento da ordenação só descomentar a linha abaixo //printf("\t%d,%d,%d,%d,%d,%d,%d,%d\n", vetor[0], vetor[1], vetor[2],vetor[3], vetor[4],vetor[5],vetor[6], vetor[7]); tmp = vetor[j+1];//a variável tmp receberá o valor de j+1(que é o posterior do que ele esta comparando) vetor[j+1] = vetor[j];//o vetor posterior(j+1) recebera o conteúdo de j(o qual ele está verificando) vetor[j] = tmp;//o vetor índice j receberá o conteúdo de tmp //Caso queira acompanhar o procedimento da ordenação só descomentar a linha abaixo //printf("\t%d,%d,%d,%d,%d,%d,%d,%d\n", vetor[0], vetor[1], vetor[2],vetor[3], vetor[4],vetor[5],vetor[6], vetor[7]); } //Caso queira acompanhar o procedimento da ordenação só descomentar a linha abaixo //printf("\t\t%d,%d,%d,%d,%d,%d,%d,%d\n", vetor[0], vetor[1], vetor[2],vetor[3], vetor[4],vetor[5],vetor[6], vetor[7]); } //Caso queira acompanhar o procedimento da ordenação só descomentar a linha abaixo(Ajuda na visualização) //puts(""); } } int main(int argc, char **argv) { int vetor[8];//declara um vetor do tipo inteiro com 8 posições cout<<"---------------------------------------------\n"; cout<<"--Informe 8 números--\n"; cout<<"---------------------------------------------\n"; for(int i=0;i< 8;i++){ cout<<"Informe um número qualquer na posição ["<< i <<"]:"; cin>>vetor[i];//Efetuara a leitura do nº por 8 vezes armazenado-o no vetor. } cout<<"---------------------------------------\n"; cout<<" Vetor atual ("; for(int i=0;i< 8;i++){//Exibe o vetor preenchido em sua forma atual. cout<<vetor[i]; cout<<", "; } cout<<")"; cout<<"\n---------------------------------------\n"; bubblesortc(vetor, 7);//Chama o método bubblesort crescente(para ordenação) cout<<"\n--------------------------------------------------------------------\n"; cout<<" Vetor Ordenado pelo bubbleSort_Crescente (";//Exibe o vetor já ordenado for(int i=0;i< 8;i++){ cout<<vetor[i]; cout<<", "; } cout<<")"; cout<<"\n-------------------------------------------------------------------\n"; bubblesortd(vetor, 7);//Chama o método bubblesort decrescente(para ordenação) cout<<"\n------------------------------------------------------------------\n"; cout<<" Vetor Ordenado pelo bubbleSort_Decrescente (";//Exibe o vetor já ordenado for(int i=0;i< 8;i++){ cout<<vetor[i]; cout<<", "; } cout<<")"; cout<<"\n-------------------------------------------------------------------\n"; cout<<"\n\n"; return (EXIT_SUCCESS); }
Equação do segundo grau em C++
Número Quadrado perfeito e capicúa
Calculadora de equações de 2º grau versão 2 (com funções)
Contador de palavras, linhas e caracteres de um arquivo texto
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
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Preciso resolver um erro de DPKG (1)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (2)
Não to conseguindo resolver este problemas ao instalar o playonelinux (1)
[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