Piles.

Slides:



Advertisements
Présentations similaires
Structures de données et complexité
Advertisements

Structures de données et complexité LIFO – FILO – FIFO – etc…
Algorithme et structure de données
Chapitre IV. Structures linéaires (piles, files, listes chaînées)
BlueJ_XI 1 Java, les objets : tout de suite ! Gestion des erreurs : les exceptions Notes de cours associées au chapitre 11 tutorial BlueJ
Structures de données linéaires
IPA – Catherine Faron Zucke et Anne Marie Deryr. suite ordonnée d'éléments de taille variable ArrayList liste; liste = new ArrayList (); Ne peuvent contenir.
A B D A B D LSC avec « sentinelle »
Cours d’Algorithmique
Structures de données et algorithmes – C5 Maria-Iuliana Dascalu, PhD
POO-L3 H. Fauconnier1 Chapitre IV 1. classe Object, clonage 2. interfaces 3. classes internes et imbriquées.
II. Chaînage, SDD séquentielles
TRAITEMENT DE STRUCTURES
IFT-2000: Structures de Données Listes chaînées Dominic Genest, 2009.
IFT-10541A : Hiver 2003 Semaine 5 : Piles et files.
Structures de données IFT Abder Alikacem Espace de nommage Département d’informatique et de génie logiciel Édition Septembre 2009.
Structures de données IFT-2000 Abder Alikacem Espace de nommage Département dinformatique et de génie logiciel Édition Septembre 2009 Département dinformatique.
Structures de données IFT-2000
Présentation Structures de Données et TDA

1 La récursion. Nous avons vu qu'un programme est constitué d'un ensemble de fonctions. Il est possible pour une fonction donnée d'appeler une autre fonction.
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:
Cours du 22 novembre généricité. Chapitre VII Généricité.
IFT-2000: Structures de données Piles et files Dominic Genest, 2009.
Structures de données IFT-2000
Structures de données IFT-10541
Le langage C Structures de données
Ch. PAUL - Piles et Files à l'aide de listes chainées
LES PILES ET FILES.
1 Structures des données. 2  Le tableau permettait de désigner sous un seul nom un ensemble de valeurs de même type, chacune d'entre elles étant repérée.
Structures de données élémentaires dans le contexte du TP #1
Chaînage et LSC : motivation et principe Manipuler la LSC : exemples Variantes : LDC, liste circulaire, … Etude de cas : réalisation d’un buffer clavier.
ETNA – 1ème année Guillaume Belmas –
TABLEAUX des POINTEURS TRAITEMENT DE STRUCTURES
Évaluation et application des fonctions Let f = function x -> ( function y -> x+y );; Type :int -> (int ->int) int -> int ->int f int.
Structures de données élémentaires
1 UMLV  FICHIERS Mémoire de masse découpée en blocs Fichier :liste chaînée de blocs, ou arbre de blocs (répertoires - fichiers)‏ Bloc d’éléments Bloc.
Chaînage et LSC : motivation et principe Manipuler la LSC : exemples Variantes : LDC, liste circulaire, … Etude de cas : réalisation d’un buffer clavier.
Informatique 2A Langage C 5ème séance. Déroulement de la séance 5 1 ère partie Étude des chaînes de caractères 2 ème partie Les structures 3.
C++ Les fonctions. Présentation Utilité : Dès qu'un programme dépasse la centaine de lignes de code, il est pratique de pouvoir le décomposer en plusieurs.
Tableaux et Pointeurs Chaînes de Caractères Programmation Impérative II.
CINI – Li115 1 Semaine 10 Les pointeurs ● Notion d'adresse ● Déclaration et utilisation de pointeurs ● "Types pointeur" et initialisation des pointeurs.
8INF259 STRUCTURE DE DONNEES LISTE, PILES, FILES LANDRY D. CHAPWOUO T., UQAC/DIM mardi 4 octobre 2016LANDRY CHAPWOUO.
Semaine 8 Retour sur les tableaux : fonctions et récursivité
Algorithmes en C Phelma 2015.
Les tableaux différencier les variables simples des variables indicées (ordonnées et numérotées) un identificateur unique désigne un ensemble, une collection.
Eléments d’Informatique Cours11 – Allocation dynamique, listes chaînées Catherine Recanati.
Pointeurs et langage C.
I21 Algorithmique et programmation II
Algorithmique Langage C
3-Pile et File Définitions Primitives de piles, exemples
Présentation Structure données abstraite (TDA) Rappel : File
Plan Introduction Parcours de Graphe Optimisation et Graphes
UMLV ã Arbres de recherche AVL
Les structures en langage C
Type Concret – Type Abstrait
Université Abou Bakr Belkaid Faculté des Sciences Département d’informatique Algorithmique Avancée et Complexité Chap4: Structures de données élémentaires.
C HAPITRE II: S TRUCTURES S ÉQUENTIELLES Université Saad Dahlab – Blida1 Faculté des Sciences Département d’Informatique Licence d’Informatique Semestre.
1. LE LANGAGE SQL DDL Version 2 - Janvier Le langage SQL-DDL
II. Chaînage, SDD séquentielles
Les structures de base Listes chainées. Listes Les listes(similaire aux tableaux) sont des structures informatiques qui permettent de garder en mémoire.
Chapitre 3: Les listes simplement chaînées A.ABDALI MIPC/MIP S
Dépiler et mettre valeur dans RT (récup. paramètre)
Structure de données utiles
Piles et files.
Programmation Scratch
LISTES.
Listes Chaînées.
1. LE LANGAGE SQL DDL Version 1 - Mai 2009 corrigé le 11/2/2011
Structure de données Les listes.
Transcription de la présentation:

Piles

Piles #include "pile.h » main() { Pile p; ELEMENT e; p=creer_pile(); p=empiler(10,p); visualiser(p); p=empiler(20,p); visualiser(p); p=empiler(30,p); visualiser(p); e= depiler(&p); printf("Depiler: valeur de l’element depilé %lf\n",e); visualiser(p); } 30 20 p 10 3

Piles Opérations creer_pile : -> pile initialisation. empiler: élément x pile -> pile ajout d'un élément au sommet i.e. en tête sommet : pile -> élément valeur de l'élément de tête supprimer : pile -> pile suppression de l'élément situé en tête. pile_vide : pile -> booléen dépiler : pile -> élément x pile Retourne la valeur en tête et suppression de cette valeur de la liste 4

Piles : représentation chaînée typedef double ELEMENT; typedef struct cellule { ELEMENT val; struct cellule * suiv;} Maillon, * Pile; /* declarations */ /* ATTENTION: plusieurs de ces fonctions n'ont pas de sens avec une pile vide */ Pile creer_pile(void); int pile_vide(Pile p); Pile empiler(ELEMENT,Pile); Pile supprimer(Pile); ELEMENT sommet(Pile); ELEMENT depiler(Pile*); /* ATTENTION : depiler doit réaliser 2 actions : retourner l’élément au sommet de pile et modifier donc le sommet de pile. C’est pour cela que f est la pile est passée par adresse. De plus, il est obligatoire que cette pile ne soit pas vide */ 5

Files

Files Analogie : file d'attente du RU (mais pas celui de minatec !!) insertion des éléments en queue retrait des éléments en tête Propriété First In First Out Premier arrivé, premier servi Terminologie : tête de file fin de file Terminologie : Enfiler 10 Enfiler 20 Enfiler 30 défiler 30 fin 20 10 tête 7

Files Opérations file_vide : -> file Création d’une file vide enfiler : élément x file -> file ajout en queue dans une liste tête : file -> élément valeur de la tête de la liste supprimer : file -> file supprime "en tête" de la liste. est_vide : file -> booléen défiler : file -> élément x file retourne l'élément en tête puis suppression de l'élément. 8

Files : représentation chaînée astucieuse File : définie par un seul pointeur sur la FIN avec une Liste CIRCULAIRE A la fin de la liste, on ajoute un lien qui ramène au début de la liste La tête est définie par l’élément qui suit la fin : tête = liste->suiv La fin est définie par la liste: fin= liste File vide : file sans aucun élément File avec 1 élément File avec 2 éléments typedef int ELEMENT; typedef struct cellule { ELEMENT val; struct cellule * suiv; } Cellule; typedef Cellule * F i l e ; File mafile; mafile mafile 8 mafile 8 9 9 9

Files : représentation chaînée astucieuse File enfiler(ELEMENT e, File f){ File c = calloc(1,sizeof(*c)); c->val = e; if (est_vide(f)) c->suiv = c; else { c->suiv = f->suiv; f->suiv=c; } return c; main() { File l; l= creer_file(); /* Enfiler 8 sur une file vide */ l=enfiler(8,l); l=enfiler(9,l); l=enfiler(1,l); 8 c l 1 c l 8 9 10