0% ont trouvé ce document utile (0 vote)
5 vues3 pages

Gestion de listes chaînées en C

Transféré par

marymiif9
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues3 pages

Gestion de listes chaînées en C

Transféré par

marymiif9
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

#include <studio.

h>

#include <stdlib.h>

typedef struct Noeud {

int data;

struct Noeud *next;

} Noeud;;

void insert(Noeud **premier, int value) {

Noeud *newNoeud =

(Noeud*)malloc(sizeof(Node));

newNoeud->data = value;

newNoeud->next = *premier;

*premier = newNoeud;

void afficherliste(Noeud* premier){

Noeud *temp = premier;

while (temp != NULL){

printf("%d -> ",temp->data);

temp = temp->next;

printf("NULL\n");

void Trier(Noeud **premir) {

int swapped;

Noeud *ptr1;

Noeud *1ptr = NuLL;

if (*premier == NULL) return;

do {

swapped = 0;

ptr1= *premier;
while (ptr1->next != 1ptr){

if (ptr1->data >

ptr1->next->data) {

int temp =ptr1->data;

ptr1->data =

ptr1->next->data;

ptr1->next->data = temp;

swapped = 1;

ptr1=ptr1->next;

1ptr = ptr1;

} while (swapped);

void Separer(Noeud *premier,Noeud **positifs,

Noeud **negatifs) {

while(premier != NULL) {

if(premier->data>= 0){

insert(positifs,premier->data);

} else {

insert(negatifs,premier->data);

int main() {

Noeud *premier = NULL;

Noeud *positifs = NULL;

Noeud *negatifs = NULL;

//insertion des valeurs dans la liste chainée

insert(&premier, 7);

insert(&premier,-18);
insert(&premier,0);

insert(&premier,7);

insert(&premier,45);

insert(&premier,87);

insert(&premier,7);

insert(&premier,-5);

printf("liste originale :\n");

afficherliste(premier);

//trier la liste

trier(&premier);

printf("\nliste triée :\n");

afficherliste(premier);

//separer en listes postives et negatives

separer(premier,&positifs,&negatifs);

printf("\nliste des positifs :\n");

afficherliste(positifs);

printf("\nliste dzs negatifs :\n");

return 0;

Vous aimerez peut-être aussi