Ordenação Binaria
Publicado por Enzo de Brito Ferber 08/06/2008
[ Hits: 5.592 ]
Homepage: http://www.maximasonorizacao.com.br
Esse script pega um número pela linha de comando e gera uma string de 1 a 'n' e organiza pela notação "pré-ordenada" (como se fosse uma árvore binária). Bem interessante pra entender pesquisa binária.
Espero que seja útil pra álguem.
[]'s
// bin_order.c
#include <stdio.h>
#include <stdlib.h>
static int *matrix;
static int *nmatrix;
static int matrix_size;
static int matrix_pos;
void bin_order (int low, int high)
{
int mid = (low + high) / 2;
nmatrix[matrix_pos] = matrix[mid];
matrix_pos++;
if (low >= high) return ;
bin_order (low, mid - 1);
bin_order (mid + 1, high);
}
int main (int argc, char **argv)
{
register int i;
matrix_pos = 0;
if (argc < 2)
{
printf("Uso: %s <numero>\n", argv[0]);
return 0;
}
matrix_size = atoi(argv[1]);
matrix = (int *) malloc (matrix_size * sizeof (int));
nmatrix = (int *) malloc (matrix_size * sizeof (int));
if ( (!matrix) || (!nmatrix))
{
perror("malloc()");
return 0;
}
for (i = 0; i < matrix_size; i++)matrix[i] = (i + 1);
printf("Ordem Binaria: ");
bin_order (0, matrix_size - 1);
for (i = 0; i < matrix_size; i++) printf("%d ", nmatrix[i]);
puts("");
return 0;
}
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Script de montagem de chroot automatica
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux









