Table des matières
Trier le tableau par ordre croissant à l'aide de la technique de tri à bulles
Algorithme
Exemple
Sortie
Trier le tableau par ordre croissant à l'aide de la technique de tri par sélection
Conclusion
Maison développement back-end C++ Programme C++ : trier les éléments du tableau par ordre croissant

Programme C++ : trier les éléments du tableau par ordre croissant

Sep 13, 2023 am 08:49 AM
数组 排序 Ordre croissant

Programme C++ : trier les éléments du tableau par ordre croissant

Afin de résoudre efficacement certains problèmes, il est très important de disposer les éléments de données dans la bonne position commande. L’un des problèmes de permutation les plus courants est le problème de l’ordre des éléments. ce Cet article montrera comment trier les membres d'un tableau par ordre croissant (selon la valeur ne cesse d’augmenter).

Pour organiser des éléments numériques ou non numériques dans un ordre spécifique, il existe de nombreuses façons Des algorithmes de tri peuvent être utilisés dans ce domaine. Juste deux techniques de tri simples sera présenté dans cet article. Tri par sélection et tri à bulles. Vérifions-les un par un Implémentez le code individuellement en utilisant la technologie appropriée et le C++.

Trier le tableau par ordre croissant à l'aide de la technique de tri à bulles

L'un des moyens les plus populaires et les plus simples de trier les composants d'un tableau est Méthode de tri à bulles. Dans cette méthode, deux éléments sont vérifiés séquentiellement pour Vérifiez s'ils sont dans le bon ordre. Sinon, la méthode permute les éléments jusqu'à ce qu'ils La commande est correcte. Après cela, déplacez-vous vers la droite et répétez le processus avec l'autre groupe. valeurs. Les éléments individuels sont placés dans la position attendue correcte à la fin Chacune des différentes étapes de la technologie de tri des bulles. Regardez le tri des bulles algorithme.

Algorithme

  • Lire le tableau A et sa taille n en entrée
  • Pour i allant de 0 à n-1, exécutez
    • Pour j allant de 0 à n - 2, faites
      • Si A[j] > A[j + 1], alors
        • Échangez A[j] et A[j + 1]
      • Si ça se termine
    • Fin
  • Fin

Exemple

#include <iostream>
using namespace std;
void display( int arr[], int n ){
   for ( int i = 0; i < n; i++ ) {
      cout << arr[i] << ", ";
   }
}
void swap ( int &a, int &b ){
   int temp = a;
   a = b;
   b = temp;
}
void solve( int arr[], int n ){
   int i, j;
   for ( i = 0; i < n; i++ ) {
      for ( j = 0; j < n-1; j++ ) {
         if ( arr[j] > arr[ j+1 ] ) {
            swap( arr[j], arr[ j + 1 ] );
         }
      }
   }
}
int main(){
   int arr[] = {8, 45, 74, 12, 10, 36, 58, 96, 5, 2, 78, 44, 25, 12, 89, 95, 63, 84};
   int n = sizeof( arr ) / sizeof( arr[0] );
   cout << "Array before sorting: ";
   display(arr, n);
   solve( arr, n );
   cout << "\nArray After sorting: ";
   display(arr, n);
}
Copier après la connexion

Sortie

Array before sorting: 8, 45, 74, 12, 10, 36, 58, 96, 5, 2, 78, 44, 25, 12, 89, 95, 63, 84, 
Array After sorting: 2, 5, 8, 10, 12, 12, 25, 36, 44, 45, 58, 63, 74, 78, 84, 89, 95, 96, 
Copier après la connexion
Copier après la connexion

Trier le tableau par ordre croissant à l'aide de la technique de tri par sélection

Lorsque nous utilisons la stratégie de tri par sélection, nous partons de l'index I et allons jusqu'à la fin Étant donné un tableau, recherchez l'élément minimum ou maximum. Supposons que nous soyons Révélez chaque ingrédient. Il localise le plus petit élément de l'index I jusqu'à la fin A chaque étape, placez les éléments en place et répétez le processus Trouvez l'élément suivant le plus grand à partir de l'index I + 1, et ainsi de suite. Ces étapes sont sur le point d'être achevées, Ensuite, l'ensemble du tableau sera trié de manière appropriée.

Algorithme

  • Lire le tableau A et sa taille n en entrée
  • Pour i allant de 0 à n-1, exécutez
    • ind := plus petit indice d'élément de i à n dans A
    • Si A[ i ] > A[ ind ], alors
      • Échange A[ i ] et A[ ind ]
    • Si ça se termine
  • Fin

Exemple

#include <iostream>
using namespace std;
void display( int arr[], int n ){
   for ( int i = 0; i < n; i++ ) {
      cout << arr[i] << ", ";
   }
}
void swap ( int &a, int &b ){
   int temp = a;
   a = b;
   b = temp;
}
int min_index( int arr[], int n, int s, int e ){
   int min = 99999, min_ind = -1;
   for ( int i = s; i < e; i++ ) {
      if ( arr[i] < min ) {
         min = arr[i];
         min_ind = i;
      }
   }
   return min_ind;
}
void solve( int arr[], int n ){
   int i, j, ind;
   for ( i = 0; i < n; i++ ) {
      ind = min_index( arr, n, i, n );
      if ( arr[i] > arr[ ind ] ) {
         swap( arr[i], arr[ ind ] );
      }
   }
}
int main(){
   int arr[] = {8, 45, 74, 12, 10, 36, 58, 96, 5, 2, 78, 44, 25, 12, 89, 95, 63, 84};
   int n = sizeof( arr ) / sizeof( arr[0] );
   cout << "Array before sorting: ";
   display(arr, n);
   solve( arr, n );
   cout << "\nArray After sorting: ";
   display(arr, n);
}
Copier après la connexion

Sortie

Array before sorting: 8, 45, 74, 12, 10, 36, 58, 96, 5, 2, 78, 44, 25, 12, 89, 95, 63, 84, 
Array After sorting: 2, 5, 8, 10, 12, 12, 25, 36, 44, 45, 58, 63, 74, 78, 84, 89, 95, 96, 
Copier après la connexion
Copier après la connexion

Conclusion

Un problème fondamental est le tri, qui consiste à organiser les nombres ou d'autres éléments selon l'ordre Logique de mise en page prédéterminée. Il existe de nombreuses autres techniques de séquençage disponibles dans ce domaine, Mais dans cet article, nous nous concentrerons sur deux éléments faciles à utiliser et à comprendre. ces deux-là Les techniques de tri comprennent la technologie de tri par sélection et la technologie de tri à bulles. nous avons Utilisez ces deux techniques pour organiser l’ensemble de données par ordre croissant (et non décroissant). Bien que peu efficaces en termes de temps, ces deux techniques de tri sont simples. les deux Les deux techniques nécessitent un investissement en temps O(n2), où n est entrer. Tant qu'on juge s'il y a eu un changement, il n'y aura aucun changement dans les étapes suivantes. Il n’y a aucun échange à aucun moment, ce qui accélère le tri des bulles.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment supprimer les éléments en double du tableau PHP à l'aide de la boucle foreach ? Comment supprimer les éléments en double du tableau PHP à l'aide de la boucle foreach ? Apr 27, 2024 am 11:33 AM

La méthode d'utilisation d'une boucle foreach pour supprimer les éléments en double d'un tableau PHP est la suivante : parcourez le tableau, et si l'élément existe déjà et que la position actuelle n'est pas la première occurrence, supprimez-le. Par exemple, s'il existe des enregistrements en double dans les résultats de la requête de base de données, vous pouvez utiliser cette méthode pour les supprimer et obtenir des résultats sans enregistrements en double.

L'art de PHP Array Deep Copy : utiliser différentes méthodes pour obtenir une copie parfaite L'art de PHP Array Deep Copy : utiliser différentes méthodes pour obtenir une copie parfaite May 01, 2024 pm 12:30 PM

Les méthodes de copie approfondie de tableaux en PHP incluent : l'encodage et le décodage JSON à l'aide de json_decode et json_encode. Utilisez array_map et clone pour créer des copies complètes des clés et des valeurs. Utilisez Serialize et Unsérialize pour la sérialisation et la désérialisation.

Inversion des valeurs clés du tableau PHP : analyse comparative des performances de différentes méthodes Inversion des valeurs clés du tableau PHP : analyse comparative des performances de différentes méthodes May 03, 2024 pm 09:03 PM

La comparaison des performances des méthodes de retournement des valeurs de clé de tableau PHP montre que la fonction array_flip() fonctionne mieux que la boucle for dans les grands tableaux (plus d'un million d'éléments) et prend moins de temps. La méthode de la boucle for consistant à retourner manuellement les valeurs clés prend un temps relativement long.

Pratique du tri multidimensionnel des tableaux PHP : des scénarios simples aux scénarios complexes Pratique du tri multidimensionnel des tableaux PHP : des scénarios simples aux scénarios complexes Apr 29, 2024 pm 09:12 PM

Le tri des tableaux multidimensionnels peut être divisé en tri sur une seule colonne et en tri imbriqué. Le tri sur une seule colonne peut utiliser la fonction array_multisort() pour trier par colonnes ; le tri imbriqué nécessite une fonction récursive pour parcourir le tableau et le trier. Les cas pratiques incluent le tri par nom de produit et le tri composé par volume de ventes et prix.

Meilleures pratiques pour la copie approfondie des tableaux PHP : découvrez des méthodes efficaces Meilleures pratiques pour la copie approfondie des tableaux PHP : découvrez des méthodes efficaces Apr 30, 2024 pm 03:42 PM

La meilleure pratique pour effectuer une copie complète d'un tableau en PHP consiste à utiliser json_decode(json_encode($arr)) pour convertir le tableau en chaîne JSON, puis à le reconvertir en tableau. Utilisez unserialize(serialize($arr)) pour sérialiser le tableau en chaîne, puis désérialisez-le en un nouveau tableau. Utilisez RecursiveIteratorIterator pour parcourir de manière récursive des tableaux multidimensionnels.

Application de la fonction de regroupement de tableaux PHP dans le tri des données Application de la fonction de regroupement de tableaux PHP dans le tri des données May 04, 2024 pm 01:03 PM

La fonction array_group_by de PHP peut regrouper des éléments dans un tableau en fonction de clés ou de fonctions de fermeture, renvoyant un tableau associatif où la clé est le nom du groupe et la valeur est un tableau d'éléments appartenant au groupe.

Le rôle de la fonction de regroupement de tableaux PHP dans la recherche d'éléments en double Le rôle de la fonction de regroupement de tableaux PHP dans la recherche d'éléments en double May 05, 2024 am 09:21 AM

La fonction array_group() de PHP peut être utilisée pour regrouper un tableau par une clé spécifiée afin de rechercher les éléments en double. Cette fonction fonctionne selon les étapes suivantes : Utilisez key_callback pour spécifier la clé de regroupement. Utilisez éventuellement value_callback pour déterminer les valeurs de regroupement. Comptez les éléments regroupés et identifiez les doublons. Par conséquent, la fonction array_group() est très utile pour rechercher et traiter des éléments en double.

Algorithme de fusion et de déduplication de tableaux PHP : solution parallèle Algorithme de fusion et de déduplication de tableaux PHP : solution parallèle Apr 18, 2024 pm 02:30 PM

L'algorithme de fusion et de déduplication de tableaux PHP fournit une solution parallèle, divisant le tableau d'origine en petits blocs pour un traitement parallèle, et le processus principal fusionne les résultats des blocs à dédupliquer. Étapes algorithmiques : divisez le tableau d'origine en petits blocs également alloués. Traitez chaque bloc pour la déduplication en parallèle. Fusionnez les résultats du bloc et dédupliquez à nouveau.

See all articles