Você está aqui: C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Ordenação e Pesquisa (Busca) |
Como usar a Ordenação da Bolha em C++ para ordenar os valores de um vetor em ordem crescente ou decrescente - Desafio de Programação Resolvido em C++Quantidade de visualizações: 357 vezes |
Pergunta/Tarefa: A Ordenação da Bolha, ou ordenação por flutuação (literalmente "por bolha"), também chamada de Bubble Sort, é um algoritmo de ordenação dos mais simples. A ideia é percorrer o array diversas vezes, a cada passagem fazendo flutuar para o topo o maior elemento da sequência. Essa movimentação lembra a forma como as bolhas em um tanque de água procuram seu próprio nível, e disso vem o nome do algoritmo. No melhor caso, o algoritmo executa n operações relevantes, onde n representa o número de elementos do vetor. No pior caso, são feitas n2 operações. A complexidade desse algoritmo é de ordem quadrática. Por isso, ele não é recomendado para programas que precisem de velocidade e operem com quantidade elevada de dados. Escreva um programa C++ que declara, constrói um vetor de 10 inteiros e peça para o usuário informar os valores de seus elementos. Em seguida use a ordenação da bolha para ordenar os elementos em ordem crescente. Sua saída deverá ser parecida com: Informe o valor para o índice 0: 84 Informe o valor para o índice 1: 23 Informe o valor para o índice 2: 9 Informe o valor para o índice 3: 5 Informe o valor para o índice 4: 11 Informe o valor para o índice 5: 3 Informe o valor para o índice 6: 50 Informe o valor para o índice 7: 7 Informe o valor para o índice 8: 2 Informe o valor para o índice 9: 73 O array informado foi: 84 23 9 5 11 3 50 7 2 73 O array ordenado é: 2 3 5 7 9 11 23 50 73 84 Veja a resolução comentada deste exercício usando C++: #include <iostream> #define TAM_VETOR 10 using namespace std; // função principal do programa int main(int argc, char *argv[]){ // vamos declarar e construir um vetor de 10 elementos int valores[TAM_VETOR]; // vamos pedir que o usuário informe os valores for(int i = 0; i < TAM_VETOR; i++){ cout << "Informe o valor para o índice " << i << ": "; cin >> valores[i]; } // vamos mostrar o vetor informado cout << "\nO array informado foi:\n\n"; for(int i = 0; i < TAM_VETOR; i++){ cout << valores[i] << " "; } // vamos ordenar os elementos do vetor usando a ordenação da bolha // laço externo de trás para frente for(int i = TAM_VETOR - 1; i > 1; i--){ for(int j = 0; j < i; j++){ // laço interno vai no fluxo normal |
![]() |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
JavaScript - Cookies em JavaScript - Como registrar a quantidade de vezes que o usuário visitou a sua página HTML |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |