| maison  | Hardware  | réseaux  | programmation  | Logiciel  | Dépannage  | systèmes |  
programmation  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Connaissances Informatiques >> programmation >> Programmation Java >> Content
    Fusionner Trier dans le code Java
    Tri des listes de données présente l'un des problèmes les plus difficiles pour les programmeurs informatiques , car il est difficile de conceptualiser et mettre en œuvre des algorithmes de tri efficace des langages de programmation . Le tri nécessite la copie considérable , le déplacement et la lecture de données pour travailler . En conséquence , les programmeurs se concentrent sur le développement d'algorithmes de tri efficace et générique. L'un d'eux , le tri par fusion , travaille en divisant une liste de valeurs , encore et récursive de «diviser et conquérir » le problème. Depuis le tri par fusion est conçu comme une solution générique , la plupart des langages , dont Java , ont les moyens de le mettre en œuvre . Fusionner classe

    Un tri par fusion prend une liste à trier et se divise de manière récursive la liste jusqu'à atteindre des valeurs simples, telles que des numéros individuels. Le tri se recombine ensuite les numéros dans l'ordre de tri , pour finalement revenir une liste triée . Une classe de tri de base en Java contiendra une liste à trier, et appeler une fonction principale fusionner le tri définit :
    classe

    Merge {

    public int [] x ;

    static void main ( string [] args ) {

    publique x = [ 5, 6, 3, 4 , 7, 8 , 10, 2];

    mergesort (x, 0, x . longueur -1); }}


    Merge Trier fonction

    dehors de la classe principale résidera une fonction de tri par fusion . Cette segments de fonction une plage de numéros à trier dans la liste. Initialement , cette gamme va représenter toute la liste , mais comme le tri par fusion continue , il faudra que la moitié de la liste jusqu'à atteindre entrées uniques . Ensuite, la fonction de tri par fusion sera recombiner les éléments dans de longues listes qui sont triés (Source 2):

    publique vide mergesort (int faible , int salut ) {

    if ( faible < salut ) {int milieu = ( bas + salut ) /2; mergesort ( bas , milieu) ; mergesort ( milieu + 1, salut ) ; fusion (faible, moyenne, salut );}}
    < br > Basic fonction de fusion

    La fonction de fusion combinera deux listes après leur tri. Si la fonction reçoit des éléments simples , il les commander. Sinon, il faudra deux listes distinctes , et selon le désir de l'ordre du programmateur dans l'ordre croissant ou décroissant : Photos

    private void fusion ( int , int mi faibles , int salut ) {
    < p > int [] copie = new int [ x.length -1] ;

    //Copiez les deux parties dans le tableau des assistants for (int i = faible; i <= salut ; i + +) { copie [ i ] = x [i] ; }

    int i = faible; int j = mi + 1; int k = faible; while ( i < = milieu && j < = salut ) {if ( copie [ i ] < = copie [ j]) {x [k] = copie [i] ; i + +; } else { x [k] = copie [j] ; j + + ;} k + +; } //copie du reste du côté gauche du tableau dans le tableau cible while ( i < = milieu ) { x [k] = copie [i] ; k + +; i + + ;} }


    < br > Fusionner Trier Recurse

    la fonction " mergesort " divise de manière récursive la liste. Premièrement, il divise la liste initiale de moitié pour chaque fois qu'il appelle lui-même de manière récursive. Lorsque la récursivité atteint un chiffre unique , la fonction revient en arrière alors et commence à l'ordre de la liste. Chaque fois que la fonction fait marche arrière à un appel de fonction précédente , il fusionne deux moitiés d'une petite liste , travaillant par la suite revenir à la liste complète. La fonction " merge " semble faire le gros du travail en organisant et en copiant les valeurs dans la liste, mais au cœur d'un tri par fusion est en fonction d'une simplicité trompeuse " mergesort " .
    < Br > Photos

    Previous :

    next :
      articles connexes
    ·Comment puis- je créer un JTable des en-têtes de colo…
    ·Comment puis-je spécifier un Taglib en Java 
    ·Comment faire pour intégrer Java dans Flash 
    ·Comment afficher un caractère par un entier de Java 
    ·Applet de communication Applet 
    ·Quel programme dois-je créer des jeux Java 
    ·Comment puis-je installer Java sur mon ordinateur HP 
    ·Comment créer CLOB en Java 
    ·Comment définir différentes valeurs pour chaque ligne…
    ·Comment ajouter des zéros devant le numéro en Java 
      articles en vedette
    ·Comment faire pour utiliser Visual Basic 
    ·Comment programmer téléphones portables avec Java Pro…
    ·Comment faire pour activer les applets Java 
    ·Comment faire pour convertir une colonne de DataView à…
    ·Comment définir la stratégie d' exécution à distanc…
    ·Comment faire Methods in Java JDK 
    ·Quelle est l'importance de l'apprentissage du langage C…
    ·Comment soumettre Email Code HTML 
    ·Comment souligner un certain nombre dans une zone de te…
    ·Comment jouer des chansons audio à l'aide de Visual Ba…
    Copyright © Connaissances Informatiques http://fr.wingwit.com