heap sort programmé en C

Statut
N'est pas ouverte pour d'autres réponses.
D

donfino

ex membre
Bonjour

Est ce que quelqu un aurait un heap sort programmé en C ?
Et qui pourrait m expliquer si possible ?

Merci
 

ImMorT4L

Touriste
donfino a dit:
Bonjour

Est ce que quelqu un aurait un heap sort programmé en C ?
Et qui pourrait m expliquer si possible ?

Merci
Donne nous l'énoncé de ton devoir de 1ere... Ca ira plus vite :D

Recherche sur Google, y a des tas d exemple et de codes sources :?
 
1er
OP
D

donfino

ex membre
ouais j ai regardé sur google .... Mais c est des trucs que j ai pas vu c est des trucs de fou :)

moi je dois faire un heapsort mais assez simple ... Avec des fonctions pas besoin de pointeurs ... Et simplement avec stdlib , conio , stdio .... Enfin un truc assez simple

j ai déja avancé dans mon programme mais la je sais plus quoi faire :-(

Merci
 

zoheir

cvm.mangaleet()
http://linux.wku.edu/~lamonml/algor/sort/heap.html

Code:
void heapSort(int numbers[], int array_size)
{
  int i, temp;

  for (i = (array_size / 2)-1; i >= 0; i--)
    siftDown(numbers, i, array_size);

  for (i = array_size-1; i >= 1; i--)
  {
    temp = numbers[0];
    numbers[0] = numbers[i];
    numbers[i] = temp;
    siftDown(numbers, 0, i-1);
  }
}


void siftDown(int numbers[], int root, int bottom)
{
  int done, maxChild, temp;

  done = 0;
  while ((root*2 <= bottom) && (!done))
  {
    if (root*2 == bottom)
      maxChild = root * 2;
    else if (numbers[root * 2] > numbers[root * 2 + 1])
      maxChild = root * 2;
    else
      maxChild = root * 2 + 1;

    if (numbers[root] < numbers[maxChild])
    {
      temp = numbers[root];
      numbers[root] = numbers[maxChild];
      numbers[maxChild] = temp;
      root = maxChild;
    }
    else
      done = 1;
  }
}
 
1er
OP
D

donfino

ex membre
merci c'est gentil pour le code ...
Mais le lien ne va pas .. ?
 

zoheir

cvm.mangaleet()
bizarre pourtant il fonctionne chez moi
 
1er
OP
D

donfino

ex membre
faut linux absolument pour acceder a ton lien ? :d
 

fuzOr

Elite
Le lien ne marche pas chez moi
 
1er
OP
D

donfino

ex membre
boh bizzare ....
J'ai desactiver l antivirus ... J ai pas de firewall .. celui de windows est desactivé ... J ai juste un routeur dans lequel le firewall est desactiver aussI ... Jsuppose que faut quand meme pas ouvrir des ports :) lol ..
 
lol sa sent le devoir de premiere à l'inpres si je ne me trompe
 
1er
OP
D

donfino

ex membre
héhé c est pas vraiment un devoir mais faut l avoir fini ..... :)

mais oué inpres .... indus ...

J ai un peu de mal a le finir ... Mais j aimerais comprendre aussi si possible :)
 
1er
OP
D

donfino

ex membre
1er
OP
D

donfino

ex membre
sinon

Merci cvm ca m aide déja pas mal ;)
 

Baron

Elite
normalement ta vu l'heap sort au cours alors =D
avec mdame léonard ou msieu collée
 
1er
OP
D

donfino

ex membre
Baron a dit:
normalement ta vu l'heap sort au cours alors =D
avec mdame léonard ou msieu collée
Euh ... Je les connais meme pas ces profs :)
on a vu le heapsort ouais mais juste comment il fonctionnait ....
 
1er
OP
D

donfino

ex membre
mais jte connais baron tu as repondu a des messages a moi sur le forum cherchons.be dans la rubrique musique :)
 

Baron

Elite
:shock: Ta pas léonard :shock:
erf la chance :D

Bonne mert alors moi suis tjrs en exam ...
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut