Bubble e Insertion Sort
Por: roschark96 • 9/5/2016 • Trabalho acadêmico • 1.104 Palavras (5 Páginas) • 380 Visualizações
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
void embaralhar(int *vet, int vetSize)
{
int i;
for (i = 0; i < vetSize; i++)
{
int r = rand() % vetSize;
int temp = vet[i];
vet[i] = vet[r];
vet[r] = temp;
}
}
void bubble( int v[], int qtd )
{
int i;
int j;
int aux;
int k = qtd - 1 ;
for(i = 0; i < qtd; i++)
{
for(j = 0; j < k; j++)
{
if(v[j] > v[j+1])
{
aux = v[j];
v[j] = v[j+1];
v[j+1]=aux;
}
}
k--;
}
}
void insertionSort(int vetorDesordenado[], int tamanhoVetor )
{
int i, j, valorAtual;
for( j=1; j < tamanhoVetor; j++ )
{
valorAtual = vetorDesordenado[j];
i = j-1;
while(i >= 0 && vetorDesordenado[i] > valorAtual)
{
vetorDesordenado[i+1] = vetorDesordenado[i];
i--;
}
vetorDesordenado[i+1] = valorAtual;
}
}
void selection_sort (int vetor[],int max) {
int i, j, min, aux;
for (i = 0; i < (max - 1); i++) {
min = i;
for (j = i+1; j < max; j++) {
if (vetor[j] < vetor[min]) {
min = j;
}
}
if (i != min) {
aux = vetor[i];
vetor[i] = vetor[min];
vetor[min] = aux;
}
}
printf ("\n");
}
int main(){
int vet[750];
int x,p, escolha;
printf("Qual ordenação deseja realizar ?\n 1 - Bubble Sort\n 2- Insertion Sort\n 3- Selection Sort\n");
scanf("%d", &escolha);
switch (escolha){
case 1:
printf("Vetor sendo gerado: ");
for(p=0; p < 750; p++)
{
vet[p] = p;
printf("%d ",vet[p]);
}
embaralhar(vet, 750);
printf("\nVetor embaralhado: \n");
for(x=0; x < 750; x++)
{
printf("%d ",vet[x]);
}
bubble(vet,750);
printf("\nVetor Ordenado por Bubble Sort: \n");
for (x=0; x<750; x++)
{
printf("%d ", vet[x]);
}
break;
case 2:
...