Tri tableau d'entier par dichotomie

Soyez le premier à donner votre avis sur cette source.

Vue 19 414 fois - Téléchargée 838 fois

Description

Cette classe lit des entiers initialisé dans un tableau à 1 dimension, et les place dans un autre tableau à 1 dimension de même taille que le premier. La position de la valeur dans le tableau de destination est calculée par dichotomie.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
jeudi 8 juin 2006
Statut
Membre
Dernière intervention
23 septembre 2008

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.
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
36
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...
Messages postés
83
Date d'inscription
lundi 5 septembre 2005
Statut
Membre
Dernière intervention
3 juillet 2008

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
Messages postés
8
Date d'inscription
lundi 10 septembre 2007
Statut
Membre
Dernière intervention
7 octobre 2008

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 ;)
Messages postés
5351
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
17 août 2020
97
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.
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.