2008 2 Uern Novacruz Ed

Professor: Aquiles Burlamaqui
email: moc.liamg|iuqamalrubseliuqa#moc.liamg|iuqamalrubseliuqa

Table of Contents

Links

Notas

Ementa

  • Introdução.
  • Alocação Dinâmica.
  • Pilhas
  • Filas.
  • Árvores.
  • Árvores balanceadas.
  • Tabelas de dispersão.
  • Busca.
  • Complexidade

Agenda

Data Conteúdo Trabalho
29/10/2008 AULA 01(4) - Apresentação da Disciplina, Motivação, Dinâmica de Grupo 00-ApresentacaoDaDisciplina.pdf
04/11/2008 AULA 02(8) - Revisão Estrutura, Ponteiros, Passagem de Parâmetros por Referência 01-Ponteiros.ppt
12/11/2008 AULA 03(12) - Implementação Pilha estática e Pilha dinâmica
19/11/2008 AULA 04(16) - Pilha Dinâmica T1
26/11/2008 Não Haverá Aula
03/12/2008 Feriado Municipal
10/12/2008 AULA 05(20) - Fila Estática e Dinâmica T2
17/12/2008 AULA 06(24) - Revisão, Entrega dos Trabalhos e I Avaliação Escrita E1

Fila

#include <stdio.h>
#include <stdlib.h>
 
typedef struct element {
    int value;
    struct element *next;
}element;
 
typedef struct queue{
    int size;
    struct element *head;
    struct element *tail;
}queue;
 
void enqueue(queue *s, int i) {
    if(s->size==0){
        s->head = malloc(sizeof(element));
        s->tail = s->head;
        s->head->value = i;
        s->head->next = NULL;
        s->size++;
    }else{
         element *temp;
        temp = s->tail;
        s->tail = malloc(sizeof(element));
        s->tail->next = NULL;
        s->tail->value = i;
        temp->next = s->tail;
        s->size++;
     }
}
 
int dequeue(queue *q) {
    if(q->size==0) { 
        printf("The queue is empty\n");
        return -1;
    }else{
        int x = q->head->value;
                free(q->head);
        q->size--;
        q->head = q->head->next;
        return x;
     }
}
 
int main() {
    queue f;
    f.size=0;
    f.head=NULL;
    f.tail=NULL;
    enqueue(&f,5);
    enqueue(&f,10);
    enqueue(&f,3);
    enqueue(&f,7);
    printf("%i\n",dequeue(&f));
}
Add a New Comment
or Sign in as Wikidot user
(will not be published)
- +
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-Share Alike 2.5 License.