Ordenação Binaria
Publicado por Enzo de Brito Ferber 08/06/2008
[ Hits: 5.544 ]
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;
}
Lista simplesmente encadeada com busca auto-organizada
Jogando dados e somando os valores
Desenhando Nuvens ou o Fractal de Plasma
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Scripts ou binários [RESOLVIDO] (3)
VOL já não é mais como antes? (10)
Pergunta: Meu teclado não está respondendo direito como e consertar? ... (4)









