Les tableaux permettent de stocker plusieurs éléments de même type au sein d’une seule entité, Lorsque le type de ces éléments possède un ordre total, on peut donc les ranger en ordre croissant ou décroissant,
Trier un tableau c’est donc ranger les éléments d’un tableau en ordre croissant ou décroissant Dans ce cours on ne fera que des tris en ordre croissant Il existe plusieurs méthodes de tri qui se différencient par leur complexité d’exécution et leur complexité de compréhension pour le programmeur, nous examinons ce tutoriel le tri à bulles (Bubble Sort)
Tous les algorithmes de tri utilisent une procédure qui permet d’échanger(de permuter)la valeur de deux variables
Tri à bulles (Bubble Sort)
Principe de la méthode: Sélectionner le minimum du tableau en parcourant le tableau de la fin au début et en échangeant tout couple d’éléments consécutifs non ordonnés.
Exemple
Par exemple, pour trier <123,132,42,91,66,13>, on va avoir les boucles suivantes:
Le tri à bulle, mieux connu sous le nom de «Bubble Sort» est habituellement utilisé à des fins d’apprentissage. L’idée derrière cette technique est très simple, parcourir le tableau et permuter deux éléments lorsque cela s’avère nécessaire. Vous trouverez la réponse que vous souhaitez, à l’aide du code source VB.Net suivant :
Module Module1
Sub Main()
Dim MaxTableau As Integer = 8
Dim K, L, I, J, t As Integer
Dim Tableau() As Integer = {10, 23, 2, 8, 9, 14, 16, 12}
Console.Write("Avant:")
K = 0
For K = 0 To MaxTableau - 1
If K = (MaxTableau - 1) Then
Console.Write(Convert.ToString(Tableau(K)))
Else
Console.Write(Convert.ToString(Tableau(K)) + ", ")
End If
Next
For I = MaxTableau - 2 To 0 Step -1
For J = 0 To I
If Tableau(J + 1) < Tableau(J) Then
t = Tableau(J + 1)
Tableau(J + 1) = Tableau(J)
Tableau(J) = t
End If
Next
Next
Console.WriteLine()
Console.Write("Après:")
L = 0
For L = 0 To MaxTableau - 1
If L = 0 Then
Console.Write(Convert.ToString(Tableau(L)))
Else
Console.Write(", " + (Convert.ToString(Tableau(L))))
End If
Next
Console.WriteLine()
Console.ReadKey()
End Sub
End Module
Exercices d’application
Exercice
Écrire un programme GestionTableau qui va appeler les méthodes suivantes.
Déclarez un tableau tableau de type int de 10 entiers
Écrivez une méthode Remplirtableau qui remplit le tableau avec des entiers entre 1 et 100 au hasard.
Écrivez une méthode AffichageTab qui vous permet d’afficher le contenu du tableau.
Écrivez une méthode tabMini qui renvoie son plus petit élément.
Écrivez une méthode tabMax qui renvoie son plus grand élément.
Écrivez une méthode TriTab qui vous permet de trier(tri à bulles) dont l’ordre croissant et d’afficher votre tableau.
Écrivez une méthode tabSomme qui prend le type int comme valeur de retour et qui renvoie la somme des éléments du tableau.
Afficher la moyenne des éléments du tableau.
Correction
Module Module1
Public tableau As Integer() = New Integer(9) {}
Sub Main()
remplirTableau()
AffichageTab()
tabMini()
tabMax()
TriTab()
Console.WriteLine("La somme est: " & tabSomme() & " ")
Console.WriteLine("La moyenne est: " & (tabSomme() / tableau.Length))
End Sub
Private Sub remplirTableau()
Dim rnd As New Random()
' affectation de valeurs entières, pris au hasard entre 1 et 100, au tableau
For i As Integer = 0 To 9
tableau(i) = rnd.Next(1, 101)
Next
End Sub
Private Sub AffichageTab()
'affichage des valeurs du tableau
For i As Integer = 0 To 9
Console.WriteLine(Convert.ToString(tableau(i)) & " ")
Next
End Sub
Private Sub tabMini()
Dim min As Integer = 101
'Recherche de minimum
For i As Integer = 0 To 9
If min > tableau(i) Then
min = tableau(i)
End If
Next
Console.WriteLine("Le minimum est: " & min & " ")
End Sub
Private Sub tabMax()
Dim max As Integer = 0
'Recherche de maxmimum
For i As Integer = 0 To 9
If max < tableau(i) Then
max = tableau(i)
End If
Next
Console.WriteLine("Le maximum est: " & max & " ")
End Sub
Private Sub TriTab()
Dim t As Integer
'Triage du tableau
For i As Integer = 0 To 8
For j As Integer = 0 To 10 - 2
If tableau(j) > tableau(j + 1) Then
t = tableau(j + 1)
tableau(j + 1) = tableau(j)
tableau(j) = t
End If
Next
Next
Console.WriteLine("Affichage du tableau trié")
For i As Integer = 0 To 9
Console.WriteLine(Convert.ToString(tableau(i)))
Next
End Sub
Private Function tabSomme() As Double
Dim somme As Integer = 0
For i As Integer = 0 To 9
somme += tableau(i)
Next
Return somme
End Function
End Module
Exercice
Écrire un programme qui demande à l’utilisateur de saisir 10 entiers qui seront stockés dans un tableau
Le programme doit afficher le contenu du tableau.
Le programme demande à l’utilisateur de saisir un entier n.
Le programme doit afficher l’entier.
Le programme doit rechercher si l’entier n se trouve dans le tableau et afficher “n se trouve dans le tableau” ou “n ne se trouve pas dans le tableau.
Correction
Module exercice2
Public tab As Integer() = New Integer(9) {}
Sub Main()
exercice_2()
trouveelement()
End Sub
Private Sub exercice_2()
For i As Integer = 0 To 9
Console.WriteLine("Saisir lélémént {0}", i + 1)
'if(isNumeric(Console.ReadLine()))
'{
'}
tab(i) = Convert.ToInt32(Console.ReadLine())
Next
For i As Integer = 0 To 9
Console.WriteLine("L'élémént {0} est : {1}", i, tab(i))
Next
End Sub
Private Sub trouveelement()
Dim n As Integer
Console.WriteLine("Saisir lélémént n ")
n = Convert.ToInt32(Console.ReadLine())
For i As Integer = 0 To 9
'Console.WriteLine("Saisir lélémént {0}" + tab[i]);
If n = tab(i) Then
Console.WriteLine("L'élémént {0} existe dans le tableau", n)
Exit For
Else
If i = 9 Then
Console.WriteLine("L'élémént {0} n'existe pas dans le tableau", n)
End If
End If
Next
End Sub
Private Function isNumeric(valeur As String) As Boolean
If String.IsNullOrEmpty(valeur) Then
Return False
End If
For Each ch As Char In valeur.ToCharArray()
If Char.IsLetter(ch) Then
Return False
End If
Next
Return True
End Function
End Module
Exercice
Écrire un programme qui demande à l’utilisateur de taper 10 entiers qui seront stockés dans un tableau.
Le programme doit afficher le contenu du tableau.
Le programme doit trier le tableau par ordre croissant et doit afficher le contenu du tableau.
Le programme doit trier le tableau par ordre décroissant et doit afficher le contenu du tableau.
Correction
Module exercice3
Public tab As Integer() = New Integer(9) {}
Sub Main(args As String())
exercice_3()
TriTabCroissant()
TriTabDecroissant()
End Sub
Private Sub exercice_3()
For i As Integer = 0 To 9
Console.WriteLine("Saisir lélémént {0}", i + 1)
'if(isNumeric(Console.ReadLine()))
'{
'}
tab(i) = Convert.ToInt32(Console.ReadLine())
Next
For i As Integer = 0 To 9
Console.WriteLine("L'élémént {0} est : {1}", i, tab(i))
Next
End Sub
Private Sub TriTabCroissant()
Console.WriteLine("Triage du tableau dans l'ordre croissant")
Dim t As Integer
'Triage du tableau
For i As Integer = 0 To 8
For j As Integer = 0 To 10 - 2
If tab(j) > tab(j + 1) Then
t = tab(j + 1)
tab(j + 1) = tab(j)
tab(j) = t
End If
Next
Next
For i As Integer = 0 To 9
Console.WriteLine(tab(i))
Next
End Sub
Private Sub TriTabDecroissant()
Console.WriteLine("Triage du tableau dans l'ordre décroissant")
Dim t As Integer
'Triage du tableau
For i As Integer = 0 To 8
For j As Integer = 0 To 10 - 2
If tab(j) < tab(j + 1) Then
t = tab(j + 1)
tab(j + 1) = tab(j)
tab(j) = t
End If
Next
Next
For i As Integer = 0 To 9
Console.WriteLine(tab(i))
Next
End Sub
End Module
Visual Studio: La liste des tâches Objectifs Connaitre la liste des tâches de Visual studio Description Cette fenêtre va remplacer les dizaines de Post-lt collés sur le bord de votre écran. Elle va vous permettre de gérer ce qu’il reste à faire dans votre projet en tenant à jour la liste des modifications à apporter dans votre code. Avec la …
Visual Studio: L’aide dynamique Objectifs Connaitre les Les barres d’outils de Visual studio Description La documentation d’aide de Visual Studio est disponible dans MSDN Library, que vous pouvez installer en local sur votre ordinateur ou sur le réseau. MSDN Library est également accessible sur Internet. La version locale de cette bibliothèque se compose d’une collection de fichiers HTML compressés au …
Visual Studio: La fenêtre propriétés Objectifs Connaitre les Les barres d’outils de Visual studio Description Le propriétés fenêtre est utilisée pour afficher les propriétés pour les objets sélectionnés dans les deux principaux types de fenêtres disponibles dans les Visual Studio l’environnement de développement intégré (IDE). Ces deux types de fenêtres sont : Fenêtres d’outils tels que navigateur de l’Explorateur de …
Gérer le consentement aux cookies
Pour offrir les meilleures expériences, nous utilisons des technologies telles que les cookies pour stocker et/ou accéder aux informations des appareils. Le fait de consentir à ces technologies nous permettra de traiter des données telles que le comportement de navigation ou les ID uniques sur ce site. Le fait de ne pas consentir ou de retirer son consentement peut avoir un effet négatif sur certaines caractéristiques et fonctions.
Fonctionnel
Toujours activé
Le stockage ou l’accès technique est strictement nécessaire dans la finalité d’intérêt légitime de permettre l’utilisation d’un service spécifique explicitement demandé par l’abonné ou l’utilisateur, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
Préférences
Le stockage ou l’accès technique est nécessaire dans la finalité d’intérêt légitime de stocker des préférences qui ne sont pas demandées par l’abonné ou l’utilisateur.
Statistiques
Le stockage ou l’accès technique qui est utilisé exclusivement à des fins statistiques.Le stockage ou l’accès technique qui est utilisé exclusivement dans des finalités statistiques anonymes. En l’absence d’une assignation à comparaître, d’une conformité volontaire de la part de votre fournisseur d’accès à internet ou d’enregistrements supplémentaires provenant d’une tierce partie, les informations stockées ou extraites à cette seule fin ne peuvent généralement pas être utilisées pour vous identifier.
Marketing
Le stockage ou l’accès technique est nécessaire pour créer des profils d’utilisateurs afin d’envoyer des publicités, ou pour suivre l’utilisateur sur un site web ou sur plusieurs sites web ayant des finalités marketing similaires.