Piles - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

Piles

Description:

Liste usage restreint: Enl ve et ins re un l ment seulement un bout de la liste. ... Queue: type de donn abstrait. template class Elem class Queue ... – PowerPoint PPT presentation

Number of Views:48
Avg rating:3.0/5.0
Slides: 14
Provided by: clif61
Category:
Tags: abstrait | piles

less

Transcript and Presenter's Notes

Title: Piles


1
Piles
  • Premier arrivé, dernier servi
  • LIFO (Last In, First Out)
  • Liste à usage restreint Enlève et insère un
    élément seulement à un bout de la liste.
  • Notation
  • Insérer EMPILER (PUSH)
  • Enlever DÉPILER (POP)
  • Lélément accessible est DESSUS (TOP)

2
Pile TDA
  • // Pile Type de donné abstrait
  • template ltclass Elemgt StackltElemgt
  • public
  • virtual void clear() 0
  • virtual bool push(const Elem) 0
  • virtual bool pop(Elem) 0
  • virtual bool topValue(Elem) const 0
  • virtual int length() const 0

3
Pile avec tableau
  • // Implémentation avec tableau
  • template ltclass Elemgt class Astack
  • public StackltElemgt
  • private
  • int size
  • int top
  • Elem listArray
  • public
  • AStack(int sz 1000)
  • size sz top 0
  • listArray new Elemsz
  • AStack() delete listArray
  • void clear() top 0

4
Pile avec tableau(2)
  • bool push(const Elem item)
  • if (top size) return false
  • else listArraytop item
  • return true
  • bool pop(Elem it)
  • if (top 0) return false
  • else it listArray--top return true
  • bool topValue(Elem it) const
  • if (top 0) return false
  • else it listArraytop-1 return true
  • int length() const return top

5
Pile avec liste chaînée (1)
  • template ltclass Elemgt class LStack
  • public StackltElemgt
  • private
  • LinkltElemgt top
  • int size
  • public
  • LStack(int sz DefaultListSize)
  • top NULL size 0
  • bool push(const Elem item)
  • top new LinkltElemgt(item, top)
  • size
  • return true

6
Pile avec liste chaînée(2)
  • bool pop(Elem it)
  • if (size 0) return false
  • it top-gtelement
  • LinkltElemgt ltemp top-gtnext
  • delete top
  • top ltemp
  • size--
  • return true
  • bool topValue(Elem it) const
  • if (size 0) return false
  • it top-gtelement
  • return true

7
File dattente (queue)
  • Premier arrivé, premier servi
  • FIFO (First in, First Out)
  • Liste à usage restreint Enlève à un bout et
    ajoute à lautre.
  • Notation
  • Insérer (Enqueue)
  • Enlever (Dequeue)
  • Premier élément Avant
  • Dernier élément Arrière

8
Queue Implémentation (1)
9
Queue Implémentation (2)
10
Queue TDA
// Queue type de donné abstrait template ltclass
Elemgt class Queue public virtual void
clear() 0 virtual bool enqueue(const Elem)
0 virtual bool dequeue(Elem) 0
virtual bool frontValue(Elem) const 0
virtual int length() const 0
11
Queue Tableau
// Queue Implémentation avec tableau template
ltclass Elemgt class AQueue public QueueltElemgt
private int size int
front int rear
Elem listArray public
AQueue(int sz DefaultListSize) size
sz1 rear 0 front 1 listArray
new Elemsize AQueue() delete
listArray void clear() front rear
12
Queue Tableau
bool enqueue(const Elem it) if
(length()size-1) return false rear
(rear1) size listArrayrear it
return true bool dequeue(Elem it)
if (length() 0) return false // Empty it
listArrayfront front (front1) size
return true
13
Queue Tableau
bool frontValue(Elem it) const if
(length() 0) return false it
listArrayfront return true virtual
int length() const return ((rearsize) -
front 1) size
Write a Comment
User Comments (0)
About PowerShow.com