Maison Java javaDidacticiel Algorithme de tri rapide implémenté en langage Java

Algorithme de tri rapide implémenté en langage Java

Feb 19, 2024 pm 01:35 PM
实现方法 java语言 algorithme de tri rapide

Algorithme de tri rapide implémenté en langage Java

Une méthode d'implémentation d'un algorithme de tri rapide basé sur le langage Java

Le tri rapide est un algorithme de tri efficace, qui est souvent utilisé pour trier de grandes quantités de données. Cet article présentera une méthode d'implémentation d'un algorithme de tri rapide basé sur le langage Java et fournira des exemples de code spécifiques.

L'idée de base du tri rapide est de diviser les données à trier en deux parties indépendantes. Par exemple, en utilisant un élément comme valeur standard, les éléments plus petits que la valeur sont placés à gauche et les éléments plus grands que la valeur. la valeur est placée à droite. Triez ensuite rapidement ces deux parties séparément jusqu'à ce que toute la séquence soit triée.

Tout d'abord, nous devons implémenter une fonction de partition pour diviser les données. Cette fonction divise toute la séquence en deux parties en sélectionnant un Pivot (généralement en sélectionnant le premier élément de la séquence) et renvoie la position du Pivot. Le code spécifique est le suivant :

public class QuickSort {
    public int partition(int[] array, int low, int high) {
        int pivot = array[low]; // 选择第一个元素作为Pivot
        while (low < high) {
            while (low < high && array[high] >= pivot) {
                high--;
            }
            array[low] = array[high]; // 将小于Pivot的元素移到左边

            while (low < high && array[low] <= pivot) {
                low++;
            }
            array[high] = array[low]; // 将大于Pivot的元素移到右边
        }
        array[low] = pivot; // 将Pivot放到正确的位置
        return low; // 返回Pivot的位置
    }
}
Copier après la connexion

Ensuite, nous devons implémenter la fonction QuickSort pour trier la séquence entière. Le code spécifique est le suivant :

public class QuickSort {
    // ... 上面的代码省略 ...

    public void quickSort(int[] array, int low, int high) {
        if (low < high) {
            int pivotIndex = partition(array, low, high); // 划分序列
            quickSort(array, low, pivotIndex - 1); // 对左边序列进行快速排序
            quickSort(array, pivotIndex + 1, high); // 对右边序列进行快速排序
        }
    }
}
Copier après la connexion

Enfin, nous pouvons utiliser la classe QuickSort pour trier un tableau d'entiers. Le code spécifique est le suivant :

public class Main {
    public static void main(String[] args) {
        int[] array = {5, 2, 6, 3, 1, 4}; // 待排序的数组

        QuickSort quickSort = new QuickSort();
        quickSort.quickSort(array, 0, array.length - 1); // 对数组进行快速排序

        System.out.print("排序结果:");
        for (int i : array) {
            System.out.print(i + " ");
        }
    }
}
Copier après la connexion

Ce qui précède est une méthode pour implémenter l'algorithme de tri rapide basé sur le langage Java. En implémentant la fonction Partition et la fonction QuickSort, nous pouvons trier rapidement un tableau d'entiers. Cet algorithme a une complexité temporelle de O(nlogn) et constitue un algorithme de tri très efficace.

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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

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)

Quelle est la manière d'implémenter le sondage dans Android ? Quelle est la manière d'implémenter le sondage dans Android ? Sep 21, 2023 pm 08:33 PM

L'interrogation sous Android est une technologie clé qui permet aux applications de récupérer et de mettre à jour des informations à partir d'un serveur ou d'une source de données à intervalles réguliers. En mettant en œuvre des sondages, les développeurs peuvent garantir la synchronisation des données en temps réel et fournir le contenu le plus récent aux utilisateurs. Cela implique d'envoyer des requêtes régulières à un serveur ou à une source de données et d'obtenir les dernières informations. Android fournit plusieurs mécanismes tels que des minuteries, des threads et des services en arrière-plan pour effectuer efficacement les interrogations. Cela permet aux développeurs de concevoir des applications réactives et dynamiques qui restent synchronisées avec les sources de données distantes. Cet article explique comment implémenter l'interrogation dans Android. Il couvre les principales considérations et étapes impliquées dans la mise en œuvre de cette fonctionnalité. Sondage Le processus de vérification périodique des mises à jour et de récupération des données à partir d'un serveur ou d'une source est appelé sondage dans Android. passer

Comment implémenter des effets de filtre d'image en PHP Comment implémenter des effets de filtre d'image en PHP Sep 13, 2023 am 11:31 AM

La méthode de mise en œuvre de l'effet de filtre d'image PHP nécessite des exemples de code spécifiques Introduction : Dans le processus de développement Web, les effets de filtre d'image sont souvent utilisés pour améliorer la vivacité et les effets visuels des images. Le langage PHP fournit une série de fonctions et de méthodes pour obtenir divers effets de filtre d'image. Cet article présentera certains effets de filtre d'image couramment utilisés et leurs méthodes de mise en œuvre, et fournira des exemples de code spécifiques. 1. Réglage de la luminosité Le réglage de la luminosité est un effet de filtre d'image courant, qui peut modifier la luminosité et l'obscurité de l'image. En utilisant imagefilte en PHP

Comment convertir un tableau JSON en CSV en Java ? Comment convertir un tableau JSON en CSV en Java ? Aug 21, 2023 pm 08:27 PM

JSON peut être utilisé comme format d’échange de données, il est léger et indépendant du langage. Un JSONArray peut analyser des chaînes de texte pour produire des objets de type vectoriel et prend en charge l'interface java.util.List. Nous pouvons convertir un tableau JSON au format CSV à l'aide de la classe org.json.CDL, qui fournit une méthode statique toString() pour convertir JSONArray en texte séparé par des virgules. Nous devons importer le package org.apache.commons.io.FileUtils pour stocker les données dans un fichier CSV à l'aide de la méthode writeStringToFile(). Syntaxepublicstaticj

Comment UniApp implémente les appels par caméra et vidéo Comment UniApp implémente les appels par caméra et vidéo Jul 04, 2023 pm 04:57 PM

UniApp est un framework de développement multiplateforme développé sur la base de HBuilder, qui peut permettre à un code de s'exécuter sur plusieurs plates-formes. Cet article expliquera comment implémenter les fonctions de caméra et d'appel vidéo dans UniApp et donnera des exemples de code correspondants. 1. Obtenir les autorisations de caméra de l'utilisateur Dans UniApp, nous devons d'abord obtenir les autorisations de caméra de l'utilisateur. Dans la fonction de cycle de vie montée de la page, utilisez la méthode d'autorisation de l'université pour appeler l'autorisation de la caméra. L'exemple de code est le suivant : mounte

ChatGPT Java : Comment créer un moteur de recherche sémantique précis ChatGPT Java : Comment créer un moteur de recherche sémantique précis Oct 24, 2023 am 10:21 AM

ChatGPTJava : Comment créer un moteur de recherche sémantique précis, nécessitant des exemples de code spécifiques Introduction : Avec le développement rapide d'Internet et la croissance explosive de l'information, les gens rencontrent souvent des résultats de recherche de mauvaise qualité et incohérents lors du processus d'obtention des informations requises. Question exacte. Afin de fournir des résultats de recherche plus précis et plus efficaces, les moteurs de recherche sémantiques ont vu le jour. Cet article expliquera comment utiliser ChatGPTJava pour créer un moteur de recherche sémantique précis et donnera des exemples de code spécifiques. 1. Comprendre ChatGPTJ

Comment écrire un algorithme de tri rapide en utilisant C# Comment écrire un algorithme de tri rapide en utilisant C# Sep 19, 2023 pm 03:28 PM

Comment utiliser C# pour écrire un algorithme de tri rapide. L'algorithme de tri rapide est un algorithme de tri efficace. Son idée est de diviser le tableau en sous-problèmes plus petits grâce à l'idée de diviser pour régner, puis de résoudre ces sous-problèmes. problèmes de manière récursive, et enfin les fusionner pour obtenir la réponse à l'ensemble du problème. Ci-dessous, nous présenterons en détail comment utiliser C# pour écrire un algorithme de tri rapide et donnerons des exemples de code pertinents. Idée d'algorithme L'idée du tri rapide peut être résumée en trois étapes suivantes : sélectionner un élément de référence, généralement le premier élément du tableau ;

Comment implémenter l'algorithme du chemin le plus court en C# Comment implémenter l'algorithme du chemin le plus court en C# Sep 19, 2023 am 11:34 AM

La façon d'implémenter l'algorithme du chemin le plus court en C# nécessite des exemples de code spécifiques. L'algorithme du chemin le plus court est un algorithme important dans la théorie des graphes et est utilisé pour trouver le chemin le plus court entre deux sommets d'un graphique. Dans cet article, nous présenterons comment utiliser le langage C# pour implémenter deux algorithmes classiques du chemin le plus court : l'algorithme de Dijkstra et l'algorithme de Bellman-Ford. L'algorithme de Dijkstra est un algorithme de chemin le plus court à source unique largement utilisé. Son idée de base est de partir du sommet de départ, de s'étendre progressivement à d'autres nœuds et de mettre à jour les nœuds découverts.

Introduction aux méthodes et étapes de mise en œuvre de la fonction d'enregistrement de connexion pour la vérification des e-mails PHP Introduction aux méthodes et étapes de mise en œuvre de la fonction d'enregistrement de connexion pour la vérification des e-mails PHP Aug 18, 2023 pm 10:09 PM

Introduction aux méthodes et étapes de mise en œuvre de la fonction d'enregistrement de connexion pour la vérification des e-mails PHP Avec le développement rapide d'Internet, les fonctions d'enregistrement et de connexion des utilisateurs sont devenues l'une des fonctions nécessaires pour presque tous les sites Web. Afin de garantir la sécurité des utilisateurs et de réduire l'enregistrement du spam, de nombreux sites Web utilisent la vérification des e-mails pour l'enregistrement et la connexion des utilisateurs. Cet article expliquera comment utiliser PHP pour implémenter la fonction de connexion et d'enregistrement de la vérification des e-mails, et sera accompagné d'exemples de code. Configurer la base de données Tout d'abord, nous devons configurer une base de données pour stocker les informations sur les utilisateurs. Vous pouvez utiliser MySQL ou

See all articles