Ordenação Binaria
Publicado por Enzo de Brito Ferber 08/06/2008
[ Hits: 5.632 ]
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;
}
Um parser para tratar opções passadas para um programa em C
Retorna o tempo ocioso em uma sessão do X
Raiz cúbica pelo método de bissecção
Calculadora em C separada por funções e com diretivas
Nenhum comentário foi encontrado.
Papagaiando o XFCE com temas e recursos
WhatsApp com Chamadas no Linux via Waydroid
XFCE - quase um Gnome ou Plasma mas muito mais leve
LXQT - funcional para máquinas pererecas e usuários menos exigentes
Usando o --load-average no Gentoo para evitar OOM Kill
Instalando o COSMIC DE no Gentoo (systemd)
Centralizar Logo com Transparência via ImageMagick
Ajudante para criar dicas e artigos no VOL (1)
O que você está ouvindo agora? [2] (228)
Midia de instalação LM-21.3 não inicializa [RESOLVIDO] (15)
Reunir material [RESOLVIDO] (4)
Uma pergunta bem simples mas não achei resposta (ainda) [RESOLVIDO] (4)









