Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> Java Programming >> Content
Hoe te Samenvoegen Twee Gesorteerd GDO Lists
Een abstract data type ( ADT ) lijst , of gelinkte lijst zoals het is meer algemeen genoemd , is een van de fundamentele datastructuren in de informatica en een van de eerste alternatieven voor de eenvoudige matrix geleerd door een student Informatica . Hoewel het offert de mogelijkheid om te verhuizen naar het midden van de lijst zonder eerst te zoeken door middel van de lijst , de ADT lijst maakt het kinderlijk eenvoudig om uitzetten en inkrimpen van de opgeslagen gegevens . Deze code is geïmplementeerd in Java , omdat Java ingebouwde Linked List data structuur stelt ons in staat om direct naar het punt , maar dezelfde logica zou kunnen worden uitgevoerd met een minimale wijziging in alle andere C - achtige taal . Instructies
1

Maak je twee gelinkte lijsten en initialiseren ze met wat gesorteerde gegevens op de volgende in een Java-bestand te plakken :

LinkedList list1 = new LinkedList ( ) ;

LinkedList list2 = new LinkedList ( ) ;

voor ( int x = 0 ; x < 100 ; x + + ) je hebt twee gekoppelde lijsten gevuld met willekeurige getallen die zijn gesorteerd kopen van 2

Maak een nieuwe Linked List om de samengevoegde lijst te houden met de volgende plakken : .

LinkedList
samengevoegd = new LinkedList ( ) ;
3

Opzetten van een eenvoudige while lus . Deze lus zal zo lang gaat u als beide lijsten hebben ten minste een element in hen , en het zal de kleinste van de bovenste elementen te verplaatsen naar de samengevoegde lijst : .

//Terwijl beide lijsten niet leeg

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

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

samengevoegd . add ( list1.pop ( ) ) ;

} else {

merged.add
( list2.pop ( ) ) ;

}

}

" Peek " commando
kijkt naar het element aan de voorzijde van de lijst , terwijl " Pop" zowel kijkt naar het element en verwijderd . Wanneer de vergelijking wordt gemaakt , u alleen wilt gluren bij de top van de lijst om te zien welke kleiner is . Wanneer het tijd is om de lijsten samen te voegen , wil je weg te nemen de bovenste waarde en zet het op de nieuwe lijsten .
4

Maak het werk . Zodra een lijst leeg is , is er geen noodzaak om te blijven maken van vergelijkingen . Daarom is de oude lus eindigt , en een andere lus is gemaakt om de rest van de samengevoegde lijst te vullen met de overige gegevens van de laatste lijst :

//Terwijl de eerste lijst niet leeg

terwijl {

merged.add
( list1.pop ( ) ) ;

} ( list1.isEmpty ( ) ! ) op

//terwijl de tweede lijst is niet leeg .

terwijl {

merged.add
( list2.pop ( ) ) ;

} ( list2.isEmpty ( ) ! )
5

Print de resultaten , zodat u de samengevoegde lijst kan inspecteren en zorgen voor het goed werkte :

int x = 1 ;

voor ( Dubbele y : samengevoegd ) {

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

x + + ;

}

Previous: Next:
  Java Programming
·Hoe te afhankelijkheden maken …
·Hoe je X en Y coördinaten geb…
·Hoe de Border Invisible op een…
·Hoe je Java dwingen om Round N…
·Hoe te Geselecteerde items Get…
·Hoe een String kaart om een li…
·Hoe te Meerdere objecten verwi…
·Hoe maak je een pad in Eclipse…
·Om te lezen hoe de huidige sel…
  Related Articles
Hoe maak je een Combo Box Maak in Visual…
Hoe maak je een Check Box Maak in Visual…
Hoe maak je een tekstvak maken in Visual…
Hoe maak je een optie Box in Visual Basi…
Hoe maak je een schijf keuzelijst in Vis…
Hoe kan ik een keuzelijst maken in Visua…
Hoe kan ik een Picture Box Maak in Visua…
Hoe een bestand keuzelijst Maak in Visua…
Hoe kan ik een afbeelding Box Maak in Vi…
  Programmering Articles
·Hoe te converteren naar Hex Met C + + 
·Hoe te gebruiken Timer1 op VB.NET 
·Hoe maak je een waarde uit de ComboBox i…
·Hoe kan ik een discussie met FG in Pytho…
·Hoe maak je items in een ListBox in Visu…
·Hoe kan ik een LUA File Zorg voor Coörd…
·Tutorial voor SQL Stored Procedures 
·Hoe je VB Controls Adjust 
·Master Methode voor herhaling 
Copyright © Computer Kennis http://www.nldit.com