| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
Programmazione  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Java Programming

  • Programmazione Javascript

  • PHP /MySQL Programmazione

  • Perl Programming

  • Python Programming

  • rubino Programmazione

  • Nozioni di base di Visual Programming
  •  
    Conoscenza Informatica >> Programmazione >> Java Programming >> Content
    Come unire due Ordinati Liste ADT
    Un tipo di dato astratto ( ADT ) lista o lista concatenata come è più comunemente chiamato, è una delle strutture di dati fondamentali in informatica e una delle prime alternative al semplice array appresa da un studente di informatica . Anche se si sacrifica la capacità di muoversi a metà della lista , senza cercare tra la lista prima , la lista ADT rende banalmente facile da espandere e ridurre i dati memorizzati . Questo codice è implementato in Java , in quanto incorporato Linked struttura dati Lista di Java ci consente di arrivare direttamente al punto, ma la stessa logica potrebbe essere implementato con modifica minima in qualsiasi altro linguaggio C -like. Istruzioni
    1

    Crea il tuo due liste collegate e li inizializza con alcuni dati ordinati incollando il seguente in un file Java :

    LinkedList lista1 = new LinkedList ( ) ;

    LinkedList list2 = new LinkedList ();

    for (int x = 0; x < 100 ; x + + ) si dispone di due liste collegate piene di numeri casuali che sono stati ordinati
    2

    creare un nuovo elenco collegato di tenere l'elenco unito incollando il seguente : .

    LinkedList fusa = new LinkedList ();
    3

    impostare un semplice ciclo while . Questo ciclo proseguirà fino a quando entrambe le liste hanno almeno un elemento in loro, ed esso si sposterà il più piccolo degli elementi superiori alla lista risultante dalla fusione : .

    //Mentre entrambe le liste non sono vuoti

    while (! list1.isEmpty ( ) && ! ​​list2.isEmpty ( )) {

    ( list1.peek ( ) < = list2.peek ( ) ) {

    fusa . add ( list1.pop ());

    } else {

    merged.add ( list2.pop ()); }


    }

    il comando " Peek " guarda l'elemento in testa alla lista , mentre " pop " sia guarda l'elemento e lo rimuove . Quando viene effettuato il confronto , si desidera solo per sbirciare in cima alla lista per vedere quale è più piccolo . Quando arriva il momento di unire le liste , si vuole togliere il valore superiore e lo metterà sui nuovi elenchi .
    4

    finire il lavoro. Quando uno elenco è vuoto , non c'è bisogno di continuare a fare confronti . Pertanto , le vecchie estremità dell'ansa, e un altro anello è creato per riempire il resto della lista risultante dalla fusione con i rimanenti dati dell'ultimo elenco :

    //Mentre il primo elenco non è vuoto

    mentre {

    merged.add ( list1.pop ()); }

    ( list1.isEmpty ( ) ! ) per

    //mentre la seconda lista non è vuota .

    mentre {

    merged.add ( list2.pop ()); }

    ( list2.isEmpty ( ) ! ) economici 5

    stampare i risultati in modo da poter controllare l'elenco risultante dalla fusione e garantire ha funzionato correttamente:

    int x = 1;

    per ( doppia y: fusa ) {

    sistema . out.println ( x + " " + y) ;

    x + + ; }



    Previous :

    next :
      Articoli Correlati
    ·Come faccio a sapere quale versione di Flash Player I H…
    ·Come alternare Addizione e sottrazione in Java 
    ·Come accedere a una webcam Attraverso Java 
    ·Come cambiare i caratteri di testo in Java 
    ·Che cosa è un widget Java 
    ·Sugli attributi di un asilo nido 
    ·Come raddoppiare la dimensione di un array in Java 
    ·Come ottenere la lunghezza di un array booleano in Java…
    ·NetBeans : Come aggiungere le immagini a un progetto We…
    ·Come pulire il codice Java 
      Articoli in evidenza
    ·Il testo è che non portano a Button DataGridView 
    ·Come rinominare il pulsante Declino su iPhone 
    ·Come utilizzare Threading e messaggi in Visual C + + 
    ·Come riscrivere gli URL nei file PHP a un altro nome di…
    ·Come creare un array in PHP 
    ·Come configurare SSL in PHP 
    ·Come evitare All in si unisce a MySQL 
    ·Come calcolare le colonne in un MS DataGrid 
    ·Come personalizzare ValidationSummary 
    ·Come aggiungere nodi a TreeView 
    Copyright © Conoscenza Informatica http://it.wingwit.com