TRI TABLEAU D'ENTIER PAR DICHOTOMIE

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 11 sept. 2007 à 09:14
cs_amiss Messages postés 1 Date d'inscription jeudi 8 juin 2006 Statut Membre Dernière intervention 23 septembre 2008 - 17 sept. 2007 à 12:04
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/44040-tri-tableau-d-entier-par-dichotomie

cs_amiss Messages postés 1 Date d'inscription jeudi 8 juin 2006 Statut Membre Dernière intervention 23 septembre 2008
17 sept. 2007 à 12:04
Franchement j'ai lu ton code mais je ne trouve aucune utilité pour ton code. J'en veux pour preuves:
tu fais passer toutes les exceptions là où tu n'en a pas besoin.Tu pouvais facilement créer des nouvelles classes d'exceptions par
throw new UneException("indice negatif...") .
je ne vois même pas l'éfficacité de la POO par absence des attributs dans ton code et où tout est mis dans une seule classe(absence de modularité un des principes de la POO).
Tu aurais pu utiliser les collections de type ArrayList au moins ça pouvait être plus bénifique pour toi car elle est utilisée tous les jours en java.
bonne continuation.
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
14 sept. 2007 à 15:04
poster ce genre de choses ici... ca aurait probablement plus sa place dans les snippets... si j'avais poste tout mes tds de java et chaque programme... j'en serais peut-etre a 500 sources... peut-etre plus...
thevman Messages postés 83 Date d'inscription lundi 5 septembre 2005 Statut Membre Dernière intervention 3 juillet 2008
13 sept. 2007 à 22:01
Bonjour, :)
Si on met 0 en premier ca ne fonctionne plus. :(

int tnb[] = {0,1,2,321326,1255,10128,65,4,7,4,10,5,3,7,8};

0 - 1 - 2 - 321326 - 1255 - 10128 - 65 - 4 - 7 - 4 - 10 - 5 - 3 - 7 - 8
1 - 0 - 2 - 3 - 4 - 4 - 5 - 7 - 7 - 8 - 10 - 65 - 1255 - 10128 - 321326
xael2 Messages postés 8 Date d'inscription lundi 10 septembre 2007 Statut Membre Dernière intervention 7 octobre 2008
13 sept. 2007 à 10:09
en fait j'avais des soucis a la compilation a cause du throws absent dans des fonction qui en avaient besoin, et comme j'étais pressé j'en ais mis partout... voila la raison ;)
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
12 sept. 2007 à 09:41
Pas grave je suis là pour vous remonter le moral...
cela dit un truc me choc vraiment dans ton code :
Pourquoi tu fais un throws IOException sur toute tes méthodes alors qu'à aucun moment tu ne déclenches ou n'utilise de méthodes susceptible de lever ce type d'exception ? si tu le mets pour le plaisir, oriente toi vers une exception plus spécifique et c'est pas ce qui manque... genre tu pourrais tester les tailles de tes tableau en entrée genre :

public static void insertion( int val, int tab[], int pos) {
if(tab == null)
throw new NullPointerException("Le tableau est null");
if(tab.length < 2)
throw new ArrayIndexOutOfBoundsException("La taille ne peut être inférieure à 2");
if(pos < 0)
throw new IllegalArgumentException("La position n'est pas valide");
[...]
}
ainsi blinder le plus possible ton code sans le voir partir en while....

Note : avec les exceptions de type NullPointerException, ArrayIndexOutOfBoundsException, IllegalArgumentException le throws Exception n'est pas obligatoire...


autre point pourquoi tu mets des ';' quasiment après chaque '}' ? tu sais que ce n'est pas obligatoire voir inutile.
xael2 Messages postés 8 Date d'inscription lundi 10 septembre 2007 Statut Membre Dernière intervention 7 octobre 2008
12 sept. 2007 à 04:30
Et moi je medmande pourquoi y a toujours des mecs qui ont rien d'autre a faire que de descendre les autres
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
11 sept. 2007 à 09:14
Salut,

avec la dose de static que l'on peut trouver dans ton code, je me demande encore pourquoi tu développes en langage objet...
Rejoignez-nous