Connaissances Informatiques >> programmation >> Programmation Java >> Content
  Derniers articles
  • Java Tutorial Splash Screen 
  • Une description de Struts pour confi…
  • Comment enregistrer un fichier JSP 
  • Comment créer Myoval & Classes myRe…
  • Comment accéder Registre Windows de…
  • Comment faire pour convertir la chaî…
  • Provoquer des exceptions Java 
  • Comment couper fonctions en Java 
  • Tutoriel sur les JSP de balises pers…
  • Comment changer le nom du package da…
  •   Programmation Java
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Programmation Java

    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 ) {

    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

     
    Article précédent:
    Article suivant:
    Articles recommandés
  • Quel programme dois-je créer des jeux Java 
  • Comment puis-je écrire Java qui sélectionnera un fichier & Rename it 
  • Comment faire Struts Java 
  • Comment faire pour installer un jeu Android Grâce à un PC avec APK 
  • Pourquoi ai-je besoin d'un logiciel Java 
  • Qu'est-ce qu'une méthode de constructeur en Java 
  • Comment créer un service Web simple dans Apache Tomcat 
  • Comment faire une déclaration d' arithmétique en Java 
  • Quelle est l'erreur fondamentale 104 & Java 
  • Comment entiers d'entrée en Java en utilisant un scanner 
  • Connaissances Informatiques © http://www.ordinateur.cc