Você está na página 1de 2

IMPLEMENTAÇÃO DE BUSCA BINARIA USANDO WHILE:

#include <stdio.h>

int busca_binaria(int v[], int n, int x) {


int inicio = 0;
int fim = n - 1;

while (inicio <= fim) {


int meio = inicio + (fim - inicio) / 2;

if (v[meio] == x)
return 1; // true
else if (x < v[meio])
fim = meio - 1;
else
inicio = meio + 1;
}

return 0; // false
}

int main(void) {
int v[] = {2, 3, 5, 8, 10, 15, 20};

if (busca_binaria(v, 7, 15)) {
printf("Achei\n");
} else {
printf("Não achei\n");
}

return 0;
}

=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/
=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/

IMPLEMENTAÇÃO DE INSERTION SORT E BUBBLE SORT:

#include <stdio.h>

void troca (int *a, int *b) {


int t = *a;
*a = *b;
*b = t;
}

// int menor(int v[], int inicio, int fim) {


// int menor = v[inicio];
// int menori = inicio;
// for (int i=inicio+1; i < fim; i++) {
// if (v[i] < menor) {
// menor = v[i];
// menori = i;
// }
// }
// return menori;
// }
// void selecao (int v[], int n) {
// for (int i =0; i < n; i++) {
// int menori = menor(v, i, n);
// //int t = v[i];
// //v[i] = v[menori];
// //v[menori] = t;
// troca (&v[menori], &v[i]);
// }
// }

void imprime (int v[], int n) {


for (int i=0;i < n; i++) {
printf ("%d\n", v[i]);
}
}

void bolha(int v[], int n) {


for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (v[j] > v[j + 1]) {
troca(&v[j], &v[j + 1]);
}
}
}
}

void insercao(int v[], int n) {


for (int i = 1; i < n; i++) {
int chave = v[i];
int j = i - 1;
while (j >= 0 && v[j] > chave) {
v[j + 1] = v[j];
j--;
}
v[j + 1] = chave;
}
}

int main(void) {
int v [] = { 20, 5, 10, 40, 50, 30};
// selecao(v, 6);
bolha(v, 6);
// insercao(v, 6);
imprime(v,6);
return 0;
}

Você também pode gostar