2008 2 Uern Santacruz Ed
Professor: Aquiles Burlamaqui
email: moc.liamg|iuqamalrubseliuqa#moc.liamg|iuqamalrubseliuqa
Links
- http://equipe.nce.ufrj.br/adriano/c/apostila/indice.htm
- http://www.ime.usp.br/~pf/algoritmos/idx.html
- http://webpages.ull.es/users/jriera/Docencia/AVL/AVL%20tree%20applet.htm
Notas
Ementa
- Introdução.
- Alocação Dinâmica.
- Pilhas
- Filas.
- Árvores.
- Árvores balanceadas.
- Tabelas de dispersão.
- Busca.
- Complexidade
Agenda
| Data | Conteúdo | Trabalho |
|---|---|---|
| 30/10/2008 | AULA 01(4) - Apresentação da Disciplina | |
| 06/11/2008 | Trote | |
| 13/11/2008 | AULA 02(8) - Pilha Estática e Pilha Dinâmica | |
| 20/11/2008 | Não houve aula - Reunião do Estatuto da UERN | |
| 27/11/2008 | AULA 03(12) - Continuação Pilha Dinâmica - Pilha & Implementação no Laboratório | T1 |
| 04/12/2008 | Não Houve Aula - Concurso | |
| 11/12/2008 | Aula 04(16) - Fila | T2 |
| 18/12/2008 | Aula 05(20) - Revisão, I Avaliação Escrita & Entrega dos Trabalhos | E1 |
Pilha Estática
#include<stdio.h> int stack[10]; int top = -1; int op; void push(int v){ top++; stack[top] = v; } int pop(){ if(top==-1) { printf("Pilha Vazia\n"); return -1; } else { int temp = stack[top]; top--; return temp; } } void menu() { printf("\t\tPILHA ESTATICA\n"); printf("1 - Push()\n"); printf("2 - Pop()\n"); printf("3 - Print()\n"); printf("4 - Sair()\n"); scanf("%i",&op); } int main() { system("clear"); int i, flag; flag=1; while(flag) { menu(); switch(op) { case 1: printf("Entre com o valor a ser inserido:\n"); scanf("%i",&op); push(op); break; case 2: printf("Valor retirado:%i\n",pop()); break; case 3: printf("Pilha:\n"); printf(" TOPO: %i\n",top); for(i=0;i<10;i++) { printf(" stack[%i]=%i\n",i,stack[i]); } break; case 4: printf("tchau!!!\n"); flag=0; break; default: printf("Opção Inválida\n"); break; } } }
Fila Dinâmica
#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 t){ if(s->size==0){ s->head=malloc(sizeof(element)); s->tail=s->head; s->head->value=t; s->head->next=NULL; s->size++; }else{ element *temp; temp=s->tail; s->tail=malloc(sizeof(element)); temp->next=s->tail; s->tail->next=NULL; s->tail->value=t; s->size++; } } int dequeue(queue *p){ if(p->size==0){ printf("empty queue"); return 0; } element *temp; temp=p->head; p->head=temp->next; p->size--; if(p->size==0){ p->tail=NULL; } int x=temp->value; free(temp); return x; } int main(){ queue fila; fila.size=0; fila.head=NULL; fila.tail=NULL; enqueue(&fila,6); enqueue(&fila,5); printf("Saindo:%i\n",dequeue(&fila)); }
page revision: 25, last edited: 02 Mar 2009 14:30







Olá Aquiles! E ai já corrigiu as provas?
Não esqueça de colocar as notas viu!
Ate…
Post preview:
Close preview