Advertisement
Josif_tepe

Untitled

May 18th, 2021
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.04 KB | None | 0 0
  1. public class Program {
  2.     public static void main(String[] args) {
  3.         DoublyLinkedList list = new DoublyLinkedList();
  4.         list.insert_at_end(30);
  5.         list.insert_at_end(20);
  6.         list.insert_at_end(10);
  7.  
  8.         list.insert_between(30, 20, 50);
  9.         list.print();
  10.     }
  11.  
  12. }
  13.  
  14. class DoublyLinkedList {
  15.     class Node {
  16.         int info;
  17.         Node next; // sledbenik
  18.         Node prev; // prethodnik
  19.         public Node( int x) {
  20.             info = x;
  21.             next = null;
  22.             prev = null;
  23.         }
  24.     }
  25.     Node head = null;
  26.     void insert_at_beggining(int x) {
  27.         if(head == null) {
  28.             head = new Node(x);
  29.             return;
  30.         }
  31.         Node new_node = new Node(x);
  32.         new_node.next = head;
  33.         head.prev = new_node;
  34.         head = new_node;
  35.     }
  36.     void insert_at_end(int x) {
  37.         if(head == null) {
  38.             head = new Node(x);
  39.             return;
  40.         }
  41.         Node new_node = new Node(x);
  42.         Node tmp = head;
  43.         while(tmp.next != null) {
  44.             tmp = tmp.next;
  45.         }
  46.         tmp.next = new_node;
  47.         new_node.prev = tmp;
  48.     }
  49.     void insert_between(int x, int y, int new_value) {
  50.         Node x_node = head;
  51.  
  52.         while(x_node.info != x) {
  53.             x_node = x_node.next;
  54.         }
  55.  
  56.         Node y_node = x_node.next;
  57.         Node new_node = new Node(new_value);
  58.  
  59.         x_node.next = new_node;
  60.         new_node.prev = x_node;
  61.  
  62.         new_node.next = y_node;
  63.         y_node.prev = new_node;
  64.     }
  65.  
  66.     void print() {
  67.         Node tmp = head;
  68.         while(tmp != null) {
  69.             System.out.print(tmp.info + " --> ");
  70.             if(tmp.next == null) {
  71.                 break;
  72.             }
  73.             tmp = tmp.next;
  74.         }
  75.         System.out.println();
  76.         while(tmp != null) {
  77.             System.out.print(tmp.info + " <-- ");
  78.             if(tmp.prev == null) {
  79.                 break;
  80.             }
  81.             tmp = tmp.prev;
  82.         }
  83.         System.out.println();
  84.     }
  85.  
  86. }
  87.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement