Pile & File en C
Fermé
erebenyx
Messages postés
25
Date d'inscription
vendredi 26 mars 2010
Statut
Membre
Dernière intervention
15 août 2010
-
31 mars 2010 à 21:56
erebenyx Messages postés 25 Date d'inscription vendredi 26 mars 2010 Statut Membre Dernière intervention 15 août 2010 - 1 avril 2010 à 01:08
erebenyx Messages postés 25 Date d'inscription vendredi 26 mars 2010 Statut Membre Dernière intervention 15 août 2010 - 1 avril 2010 à 01:08
A voir également:
- Pile & File en C
- Pile carte mere - Guide
- Host file - Guide
- .Bin file - Guide
- .Dat file - Guide
- Swf file player - Télécharger - Lecture
1 réponse
Une pile avec un tableau static c'est faisable facilement
En dynamique autant utiliser une liste (avec les pointeurs), c'est plus simple :)
exemple de pile LIFO (Last In First Out)
bon la c'est un peu fait à l'arrache mais ça compile et ça marche ^^ tu peux facilement ajouter des trucs. J'ai quand même mis une structure et des pointeurs car c'est le bien :]
Les tableaux sont un peu moins adapter pour les files (un peu plus couteux car a chaque pop() tu dois décaler toutes les cases de ton tableau)
J'espère t'avoir aidé :]
En dynamique autant utiliser une liste (avec les pointeurs), c'est plus simple :)
exemple de pile LIFO (Last In First Out)
#include <stdio.h> #include <stdlib.h> typedef struct stack { int data[100]; int size; } s_stack; void init(s_stack* stack) { stack->size = 0; } void push(s_stack* stack, int elem) { if (stack->size < 100) stack->data[stack->size++] = elem; else printf("la stack est pleine\n"); } int pop(s_stack* stack) { if (stack->size > 0) return stack->data[--stack->size]; else { printf("la stack est déjà vide...\n"); return -1; } } int main() { s_stack* stack = malloc(sizeof (s_stack)); init(stack); printf("push : 5\n"); push(stack, 5); printf("push : 10\n"); push(stack, 10); printf("push : 15\n"); push(stack, 15); printf("taille de la stack : %d\n", stack->size); printf("pop : %d\n", pop(stack)); printf("pop : %d\n", pop(stack)); printf("pop : %d\n", pop(stack)); printf("taille de la stack : %d\n", stack->size); printf("pop : %d\n", pop(stack)); free(stack); return 0; }
bon la c'est un peu fait à l'arrache mais ça compile et ça marche ^^ tu peux facilement ajouter des trucs. J'ai quand même mis une structure et des pointeurs car c'est le bien :]
Les tableaux sont un peu moins adapter pour les files (un peu plus couteux car a chaque pop() tu dois décaler toutes les cases de ton tableau)
J'espère t'avoir aidé :]
1 avril 2010 à 01:08