COMBSORT ALGORITHME DE TRI SIMPLE RAPIDE NON-RECURSIF

CGSI3 Messages postés 416 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 7 janvier 2018 - 14 déc. 2008 à 11:51
darkpoulpo Messages postés 76 Date d'inscription lundi 21 mars 2005 Statut Membre Dernière intervention 29 novembre 2009 - 15 déc. 2008 à 19:25
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/48702-combsort-algorithme-de-tri-simple-rapide-non-recursif

darkpoulpo Messages postés 76 Date d'inscription lundi 21 mars 2005 Statut Membre Dernière intervention 29 novembre 2009
15 déc. 2008 à 19:25
c'est écrit "peux rivaliser" ca ne veut pas dire de maniere égal. Je crois que tu te prends la tête pour rien, et frenchement il serait bon de prendre un peu de recul pour t'en appercevoir. Je ne sais pas si tu remarques, il n'y a que toi qui s'enflamme, alors que tout le monde est cool... après c'est toi qui voit, mais je pense que tu sais te remettre en question quand il le faut. voila, sujet clos parceque je sais que ca va dégéner et polluer pour rien.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 déc. 2008 à 19:11
Vous réfléchissez 2 mn sur ce que vous dites ?

On est en présence d'une source, non compilée ni compilable et donc pas d'exemple d'utilisation, qui affirme fournir un algo aussi performant que quicksort.

Si sur un site C/C++ on appelle "réaction d'ado" remettre les choses en place avec cette fois un exemple pour vérifier, c'est qu'on n'a pas les mêmes mots pour les mêmes définitions.
Quand je ne réagirai plus en "ado" en pareil cas, c'est qu'il sera temps de prendre ma retraite.
darkpoulpo Messages postés 76 Date d'inscription lundi 21 mars 2005 Statut Membre Dernière intervention 29 novembre 2009
15 déc. 2008 à 18:55
je confirme, brunews tu as eu la réaction d'un ado. Surtout pour faire ton propre source juste pour s'amuser à demontrer celui-ci. Mais après je dis cela sans agression ni mort d'homme. Faut calmer cette agressivité...
shenron666 Messages postés 229 Date d'inscription dimanche 14 septembre 2003 Statut Membre Dernière intervention 20 août 2014
15 déc. 2008 à 17:38
bah laisses tomber, si tu ne sais pas accepter les critiques te signalant les erreurs répétées dans ton code tant pis, c'est sympa pour la lisibilité en tout cas d'avoir 2 variables t dans une macro, surtout si tu t'adresses à des débutants
xtremejames183 Messages postés 32 Date d'inscription vendredi 26 mai 2006 Statut Membre Dernière intervention 14 avril 2009
15 déc. 2008 à 17:27
SHERNON66:
la question n'es pas de remplacer d par t ou outre chose , c'est la vitesse d'exécution de l'algorithme , et pour ton grand plaisir tu peux enlever la fonction générique ainsi que toutes ses macros et tester que CombSort(int *tab,size_t NBElem);
Le code compile est tant-mieux.
A+.
shenron666 Messages postés 229 Date d'inscription dimanche 14 septembre 2003 Statut Membre Dernière intervention 20 août 2014
15 déc. 2008 à 16:43
remplacer d par t n'a fait que remplacer le problème
tu as une variable t redéclarée dans ton while
tu pourrais au moins compiler ton code pour tester ce genre d'erreur
je te conseillerai même d'arrêter d'utiliser des variables courtes non explicites
xtremejames183 Messages postés 32 Date d'inscription vendredi 26 mai 2006 Statut Membre Dernière intervention 14 avril 2009
15 déc. 2008 à 15:34
Gaspos :
Tu peux maintenant compiler correctement le code sous Win32/Unix , l'autre fois j'ai essayer d'ecrire simplement l'algorithme sans se soucier de la compilation.
A+
gaspos Messages postés 17 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 20 février 2009
15 déc. 2008 à 11:05
Petite question de quelqu'un qui s'intéresse plus à l'algo qu'à ses performances comparées :
ça sert à quoi le " if( gap 9 || gap 10 ) { gap = 11; } " ?

et puis, heu... je ne voudrais pas paraître immature et encore moi pénible, mais il ne compile carrément pas ce code.
Rien qu'en lisant j'ai remarqué le paramètre "d" de la macro BYTE_SWAP qui est en conflit avec la variable du même nom déclarée plus bas.
Et en copiant/collant dans un environnement de dev, aïe aïe aïe !
Je pensais qu'il fallait vérifier ce genre de truc avant de "publier"...
Mais, bon, c'est l'algo qui compte n'est-ce pas ?

En tous cas, c'est sympa que vue l'omniprésence du Quick Sort, il y ait encore des gens pour proposer des alternatives.
Merci

Gaspos
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 déc. 2008 à 00:13
oh mais il n'y a ni agression ni mort d'homme à fournir précisions et mesures.
Un débat, même en commentaires de source, n'est fait pour nuire à personne.
shenron666 Messages postés 229 Date d'inscription dimanche 14 septembre 2003 Statut Membre Dernière intervention 20 août 2014
15 déc. 2008 à 00:00
oui vis-à-vis du titre je comprend
dans ce cas ne peux tu pas éditer le titre pour simplement retirer "AUSSI RAPIDE QU'UN QUICKSORT" ?
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
14 déc. 2008 à 23:55
SHENRON666,
relis le titre de la source et tu verras qu'il convient de préciser les choses clairement plutot que de laisser un débutant se faire berner.
shenron666 Messages postés 229 Date d'inscription dimanche 14 septembre 2003 Statut Membre Dernière intervention 20 août 2014
14 déc. 2008 à 22:51
euh BruNews, je te croyaus plus mature que ça, c'et bien précisé que cet algo est plus rapide que tous les autres sauf Qsort mais qu'il est surtout beaucoup plus simple.
De plus, le Qsort peut aussi être plus lent qu'un shell ou un epi dans certains cas, et ça (j'espère) tu le sais aussi
xtremejames183 Messages postés 32 Date d'inscription vendredi 26 mai 2006 Statut Membre Dernière intervention 14 avril 2009
14 déc. 2008 à 22:42
bien sur ca ne rivalise pas avec un BON QSort si le pivot est bien choisis et la liste a trier est assez grande et que l'algo n'est pas récursif , je te l'accorde c vrai.
mais si la liste est de longueur moyenne et on veut du code léger et simple je préfére de loin combsort , sachant qu'il est utilisé par lighttpd le fameux serveur web ( vu et vérifié).
NB n'oublie pas la complexité O(n2) au pire des cas du QSort
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
14 déc. 2008 à 15:21
NON, ceci ne rivalise en rien avec un bon quicksort.
http://www.cppfrance.com/code.aspx?id=48711
CGSI3 Messages postés 416 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 7 janvier 2018 1
14 déc. 2008 à 11:51
Je travail sur le meme type de procedure depuis 3 mois, mais en vb, elle est sensiblement identique sur le principe, je vous l'edite sur ce site en section VB
Je pense également que ce type de tri peut aller plus vite qu'un quicksort et je vous remercie pour l'algo.

Désolé pour la traduction vb/C++
Rejoignez-nous