Fila de Prioridade

Uma fila de prioridades é uma estrutura de dados útil em problemas nos quais você precisa encontrar rápida e repetidamente o maior elemento de uma coleção de valores e removê-lo desta coleção.

Foram implementados os métodos de fila de prioridades, para um vetor de inteiros, em C e em Java. (Adquira por R$2,00, via PagSeguro, e receba por email)

- C:




- Java:



Implementação de operações sobre Fila

10:45 by Toni Pimentel 0 comentários
As filas são estruturas baseadas no princípio FIFO (first in, first out), em que os elementos que foram inseridos no início são os primeiros a serem removidos. Uma fila possui duas funções básicas: ENQUEUE, que adiciona um elemento ao final da fila, e DEQUEUE, que remove o elemento no início da fila. A operação DEQUEUE só pode ser aplicado se a fila não estiver vazia, causando um erro de underflow ou fila vazia se esta operação for realizada nesta situação. (wikipedia)

Foram implementadas as funções de manipulação de fila nas seguintes linguagens:
(Adquira por R$4,00, via PagSeguro, e receba por email)

- C:


- C++:


- Java:

Implementação de Pilha em C

10:25 by Toni Pimentel 0 comentários
As pilhas são estruturas baseadas no princípio LIFO (last in, first out), na qual os dados que foram inseridos por último na pilha serão os primeiros a serem removidos. Existem duas funções que se aplicam a todas as pilhas: PUSH, que insere um dado no topo da pilha, e PULL, que remove o item no topo da pilha. (wikipedia)

Foi implementadas as seguintes funções, na lingugagem de programação C:
- flush, que reinicializa uma pilha;
- size, que retorna o número de elementos;
- top, que retorna o último elemento, mas não o retira da pilha;
- push, que insere um dado no topo da pilha;
- pull, remove o item no topo da pilha.

Adiquira o código (R$4,00 via PagSeguro):

(Receba por email)

Estrutura de Dados em C (floatToRealtype)

10:15 by Toni Pimentel 0 comentários
Com o intuito de aprender-se mais sobre estruturas de dados em C foi implementado uma estrutura e as funções para manipulá-la, de acordo com as especificações abaixo:

Vamos supor que um número real seja representado por uma estrutura em C, como esta:

typedef struct {

int left;

int right;

} realtype;

onde left e right representam os dígitos posicionados à esquerda e à direita do ponto decimal, respectivamente. Se left for um inteiro negativo, o número real representado será negativo.

a. Função floatToRealtype que recebe um número real e retorna uma estrutura representando esse número.

b. Função realtypeToFloat que aceita essa estrutura e retorna o número real representado por ela.

c. Rotinas add, subtract e multiply que aceitam duas dessas estruturas e definem o valor de uma terceira estrutura para representar o número que seja a soma, a diferença e o produto, respectivamente, dos dois registros de entrada.

Observação: Uma função de teste em C:

int main(){
realtype a, b, c;

a = floatToRealtype(3.14);

b = floatToRealtype(8.4333);

c = add(a, b);
printf("a+b = %f", realtypeToFloat(c));

c = subtract(b, a);
printf("b-a = %f", realtypeToFloat(c));

c = multiply(a, b);
printf("a*b = %f", realtypeToFloat(c));

return 0;
}

Adquira o código deste programa na linguagem C (R$ 3,00 via PagSeguro):

(Receba por email)

Algoritmos de Ordenação

09:29 by Toni Pimentel 0 comentários
Algoritmo de ordenação em ciência da computação é um algoritmo que coloca os elementos de uma dada sequência em uma certa ordem -- em outras palavras, efetua sua ordenação completa ou parcial. As ordens mais usadas são a numérica e a lexicográfica.

Existem várias razões para se ordenar uma sequência. Uma delas é a possibilidade se acessar seus dados de modo mais eficiente.

Fonte: wikipedia

Adquira um conjunto com 6 algoritmos de ordenação implementados em Python, C, C++ ou Java por apenas R$ 6,00. (Receba por email)

Os algoritmos são:

1) BubbleSort
2) HeapSort
3) InsertionSort
4) MergeSort
5) QuickSort
6) SelectionSort


Compre via PagSeguro:

- Python:



- C:



- C++:



- Java: