programa Java para crear y revertir una lista enlazada

En este artículo de programas java, vamos a aprender cómo crear y revertir una lista enlazada ?

una lista enlazada contiene dos datos de las cosas y la dirección del nodo de cada nodo está vinculado al siguiente nodo. Aquí, estamos implementando un programa que va a crear e invertir una lista enlazada.

Java program to create and reverse a linked list  - 4

En primer lugar vamos a crear un class llamado nodo para crear un nodo con los datos y el nodo (nodo siguiente) ya que es field.ReverseList () método revertir la lista cambiando los enlaces de los nodos o por la inversión de la links.Printlist () imprimirá el invierte lista gustado .

Programa para revertir una lista enlazada en Java

public class LinkedList{
//head object of class node will point to the
//head of the linked list
Node head;
//class node to create a node with data and
//next node (pointing to node)
public static class Node{
int data;
Node next;
Node(int data,Node next){
this.data=data;
this.next=next;
}
}
public static void main (String[] args){
//linked list object ll
LinkedList ll=new LinkedList();
Node first=new Node(1,null);
Node second=new Node(2,null);
Node third=new Node(3,null);

ll.head=first;

first.next=second;

second.next=third;

ll.printlist();
ll.reverselist();
ll.printlist();
}
//this function will print the list
public void printlist() {
Node n= head;
//loop continues until it points to null
while(n!=null){
System.out.print(n.data);
n=n.next;
}
System.out.println();
}
//this function will reverse the list
//by changing current node to previous
public void reverselist() {
Node current=head;
Node prev=null;
Node nextnode=null;
//for first node previous node will be null
while(current!=null){
//reverse the link by assigning current.nextnode
//to previous node and move current node and
//previous node by 1
nextnode=current.next;
current.next=prev;
prev=current;
current=nextnode;
}
//head of the list is assigned as prevous node
//which will contain the last node
head=prev;
}
}

salida

123
321


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *