Quel est le moyen le plus élégant de trier des bulles dans C#?
Est-il possible de le supprimer?
using System;
class AscendingBubbleSort
{
public static void Main//
{
int i = 0,j = 0,t = 0;
int []c=new int[20];
for/i=0;i<20;i++/
{
Console.WriteLine/"Enter Value p[{0}]:", i/;
c[i]=int.Parse/Console.ReadLine///;
}
// Sorting: Bubble Sort
for/i=0;i<20;i++/
{
for/j=i+1;j<20;j++/
{
if/c[i]>c[j]/
{
Console.WriteLine/"c[{0}]={1}, c[{2}]={3}", i, c[i], j, c[j]/;
t=c[i];
c[i]=c[j];
c[j]=t;
}
}
}
Console.WriteLine/"bubble sorted array:"/;
// sorted array output
for/i=0;i<20;i++/
{
Console.WriteLine /"c[{0}]={1}", i, c[i]/;
}
}
}
Aucun résultat connexe trouvé
Invité:
Pour répondre aux questions, connectez-vous ou registre
10 réponses
Babette
Confirmation de:
http://en.wikipedia.org/wiki/Bubble_sort
. C'est quelque chose comme "brute force", Mais ce n'est pas une note de bulle. Voici un exemple de tri des bulles courantes. Il utilise un comparateur arbitraire, mais vous permet de la baisser et, dans ce cas, le comparateur par défaut est utilisé pour le type approprié. Il triera /non seulement la lecture/ Mise en œuvre
, qui comprend des tableaux. Lire le lien ci-dessus /sur Wikipedia/, Pour obtenir une image plus complète de la manière dont le tri des bulles devrait fonctionner. Veuillez noter comment chaque cycle nous allons du début à la fin, mais comparez uniquement chaque élément avec son voisin. C'est toujours un algorithme de tri. O /n
2
/, Mais dans de nombreux cas, ce sera plus rapide que la version que vous avez donnée.
</t></t></t></t></t></t></t></t>
Catherine
Confirmation de:
Array.Sort/ object[] /
Cela fonctionnera partout, à l'exception des devoirs, où l'enseignant vous a demandé de mettre en œuvre un algorithme deluteurs pour trier des bulles.
;-/
Catherine
Confirmation de:
Choisissez plus de noms variables descriptifs.
Pourquoi votre tableau est appelé juste
?
Minimiser la portée de la visibilité variable
Toutes vos variables sont déclarées en haut de la fonction. Si ce n'est pas une norme de devoirs ou de codage, il est plus important de déclarer des variables. "close" À l'endroit où ils sont utilisés, de préférence pour avoir le plus petit domaine d'action possible.
Donc, éliminez la première chaîne qui se lit
. Déclarez des compteurs de cycle intégrés:
Et déclarez votre variable temporaire à l'endroit où elle est utilisée:
Éliminez les limites de la matrice codées rigoureusement.
Ce:
Ce sera:
Catherine
Confirmation de:
bulle
élégant. DANS
Général
, Cependant, je trouve ce que je fais:
Il est simultanément plus élégant et plus maintenu que de le faire:
En d'autres termes,
Déclaration de variables dans la plus petite zone applicable
. Sinon, vous pouvez trouver ce que vous faites quelque chose avec
ou
À un autre point du code, puis à nouveau, utilisez-les là où vous ne devriez pas.
Blanche
Confirmation de:
/Détails sur la façon d'écrire une méthode swap, Laissé comme devoir!/
Vous devez penser à l'affaire lorsque les sujets sont déjà en ordre
Vous devez lire sur le tri des inserts pour plus d'étiquettes :-/
Au lieu de lire des données de test du clavier, voir si vous pouvez apprendre à utiliser nUnit
Emilie
Confirmation de:
Mais c'est juste moi. Trier est un problème résolu, pourquoi réinventer le vélo?
Dominique
Confirmation de:
, Proposé
. Après chaque cycle, le nombre d'itérations doit exclure le dernier élément traité dans l'itération précédente. Donc, voici le code:
</t></t></t></t></t></t></t>
Christine
Confirmation de:
Emprunté des idées de John Skeit ...
Giselle
Confirmation de:
Christine
Confirmation de: