Advertisement
lashrone1

Linear data types

Oct 22nd, 2019
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 12.94 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class Main {
  4.  
  5.     static Scanner sc = new Scanner(System.in);
  6.  
  7.     static public void Linear(){
  8.  
  9.         boolean a=true;
  10.         while(a) {
  11.             System.out.println("1.List\n2.Stack\n3.Queue\n4.Deque\n");
  12.             int answer = sc.nextInt();
  13.             switch (answer) {
  14.  
  15.                 case 1: {
  16.                     List ls = new List();
  17.                     boolean q1 = true;
  18.                     while (q1) {
  19.  
  20.                         System.out.println("1.Insert\n2.Delete\n3.Lookup\n4.Prev\n5.Next\n6.Exit");
  21.  
  22.                         int answ = sc.nextInt();
  23.                         switch (answ) {
  24.                             case 1: {
  25.                                 int index = sc.nextInt();
  26.                                 int data = sc.nextInt();
  27.                                 ls.Insert(index,data);
  28.                                 break;
  29.                             }
  30.  
  31.                             case 2: {
  32.                                 int index = sc.nextInt();
  33.                                 ls.Delete(index);
  34.                                 break;
  35.                             }
  36.  
  37.                             case 3: {
  38.                                 int pos = sc.nextInt();
  39.                                 System.out.println(ls.Lookup(pos));
  40.                                 break;
  41.                             }
  42.  
  43.                             case 4: {
  44.                                 ls.Prev();
  45.                                 break;
  46.                             }
  47.  
  48.                             case 5: {
  49.                                 ls.Next();
  50.                                 break;
  51.                             }
  52.  
  53.                             case 6:{
  54.                                 q1=false;
  55.                                 Linear();
  56.                                 break;
  57.                             }
  58.  
  59.                             default: {
  60.                                 System.out.println("Choose right item from list!");
  61.                                 break;
  62.                             }
  63.                         }
  64.                     }
  65.                 }
  66.  
  67.                 case 2: {
  68.                     Stack st = new Stack();
  69.                     boolean q2 = true;
  70.                     while (q2) {
  71.                         System.out.println("1.Push\n2.Pop\n3.Top\n4.Exit\n");
  72.                         int answ = sc.nextInt();
  73.                         switch (answ) {
  74.                             case 1: {
  75.                                 int data = sc.nextInt();
  76.                                 st.Push(data);
  77.                                 break;
  78.                             }
  79.  
  80.                             case 2: {
  81.                                 st.Pop();
  82.                                 break;
  83.                             }
  84.  
  85.                             case 3: {
  86.                                 st.Top();
  87.                                 break;
  88.                             }
  89.  
  90.                             case 4:{
  91.                                 q2=false;
  92.                                 Linear();
  93.                                 break;
  94.                             }
  95.  
  96.                             default: {
  97.                                 System.out.println("Choose right item from list!");
  98.                                 break;
  99.                             }
  100.  
  101.                         }
  102.                     }
  103.                 }
  104.  
  105.                 case 3: {
  106.  
  107.                     Queue qu = new Queue();
  108.                     boolean q3 = true;
  109.                     while (q3) {
  110.                         System.out.println("1.Enqueue\n2.Dequeue\n3.Front\n4.Exit\n");
  111.                         int answ = sc.nextInt();
  112.                         switch (answ) {
  113.                             case 1: {
  114.                                 int data = sc.nextInt();
  115.                                 qu.Enqueue(data);
  116.                                 break;
  117.                             }
  118.  
  119.                             case 2: {
  120.                                 qu.Dequeue();
  121.                                 break;
  122.                             }
  123.  
  124.                             case 3: {
  125.                                 qu.Front();
  126.                                 break;
  127.                             }
  128.  
  129.                             case 4:{
  130.                                 q3=false;
  131.                                 Linear();
  132.                                 break;
  133.                             }
  134.  
  135.                             default: {
  136.                                 System.out.println("Choose right item from list!");
  137.                                 break;
  138.                             }
  139.                         }
  140.                     }
  141.                 }
  142.  
  143.                 case 4: {
  144.  
  145.                     Deque de = new Deque();
  146.                     boolean q4 = true;
  147.                     while (q4) {
  148.                         System.out.println("1.PushBack\n2.PushFront\n3.PopFront\n4.PopBack\n5.Front\n6.Back\n7.Print\n8.Exit\n");
  149.                         int answ = sc.nextInt();
  150.                         switch (answ) {
  151.                             case 1: {
  152.                                 int data = sc.nextInt();
  153.                                 de.PushBack(data);
  154.                                 break;
  155.                             }
  156.  
  157.                             case 2: {
  158.                                 int data = sc.nextInt();
  159.                                 de.PushFront(data);
  160.                                 break;
  161.                             }
  162.  
  163.                             case 3: {
  164.                                 de.PopFront();
  165.                                 break;
  166.                             }
  167.  
  168.                             case 4:{
  169.                                 de.PopBack();
  170.                                 break;
  171.                             }
  172.  
  173.                             case 5:{
  174.                                 de.Front();
  175.                                 break;
  176.                             }
  177.  
  178.                             case 6:{
  179.                                 de.Back();
  180.                                 break;
  181.                             }
  182.  
  183.                             case 7:{
  184.                                 de.Print();
  185.                                 break;
  186.                             }
  187.  
  188.                             case 8:{
  189.                                 q4=false;
  190.                                 Linear();
  191.                                 break;
  192.                             }
  193.  
  194.                             default: {
  195.                                 System.out.println("Choose right item from list!");
  196.                                 break;
  197.                             }
  198.  
  199.                         }
  200.                     }
  201.  
  202.  
  203.                 }
  204.  
  205.                 case 5: {
  206.                     a=false;
  207.                     break;
  208.                 }
  209.  
  210.                 default: {
  211.                     System.out.println("Choose right item from list!");
  212.                     break;
  213.                 }
  214.             }
  215.         }
  216.     }
  217.  
  218.  
  219.     public static void main(String[] args) {
  220.         Linear();
  221.     }
  222. }
  223.  
  224.  
  225.  
  226. public class List {
  227.     private int index = 0;
  228.     private int size = 0;
  229.     private int[] array = new int[5];
  230.  
  231.     public void Insert(int pos, int data){
  232.  
  233.         if((pos<=size)&&(pos>=0)){
  234.             for(int i=array.length-1; i>pos; i--)
  235.                 array[i]=array[i-1];
  236.             array[pos]=data;
  237.             size++;
  238.  
  239.             if(size==array.length) {
  240.                 int[] tmp = new int[array.length + 1];
  241.                 for (int i = 0; i < array.length; i++)
  242.                     tmp[i] = array[i];
  243.                 array = tmp;
  244.             }
  245.         }
  246.         else System.out.println("Error!");
  247.  
  248.     }
  249.  
  250.  
  251.     public void Delete(int pos) {
  252.         if ((pos < size) && (pos >= 0)) {
  253.             for (int i = pos; i < size - 1; i++)
  254.                 array[i] = array[i + 1];
  255.             size--;
  256.         } else System.out.println("Error!");
  257.     }
  258.  
  259.  
  260.     public int Lookup(int position){
  261.         if(size==0) {
  262.             System.out.println("No items found!");
  263.             return 0;
  264.         }
  265.         else if((position < 0 )||(position>array.length)) {
  266.             System.out.println("Error!");
  267.             return 0;
  268.         }
  269.         return array[position];
  270.     }
  271.  
  272.     public void Prev(){
  273.         if(index==0){
  274.             System.out.println("Out of List range!");
  275.             return;
  276.         }
  277.         System.out.println(array[index]);
  278.         index--;
  279.     }
  280.  
  281.     public void Next(){
  282.         if(index==this.array.length){
  283.             System.out.println("Out of List range!");
  284.             return;
  285.         }
  286.         System.out.println(array[index]);
  287.         index++;
  288.     }
  289. }
  290.  
  291. public class Stack {
  292.  
  293.     private int size = 0;
  294.     private int[] array = new int[5];
  295.  
  296.     public void Push(int data) {
  297.         if (size == array.length) {
  298.             int[] tmp = new int[array.length + 1];
  299.             for (int i = 0; i < array.length; i++) {
  300.                 tmp[i] = array[i];
  301.             }
  302.             array = tmp;
  303.         }
  304.         array[size] = data;
  305.         size++;
  306.     }
  307.  
  308.     public void Pop() {
  309.         int[] arr = new int[this.array.length];
  310.         if (size == 0) {
  311.             System.out.println("ERROR! (items in stack is not found)");
  312.             System.out.println();
  313.             return;
  314.         }
  315.         System.out.println(array[size - 1]);
  316.         size--;
  317.         for (int i = 0; i < size; i++) {
  318.             arr[i] = array[i];
  319.         }
  320.         array = arr;
  321.     }
  322.  
  323.     public void Top() {
  324.  
  325.         if (size == 0) {
  326.             System.out.println("No items found");
  327.             System.out.println();
  328.             return;
  329.         }
  330.         System.out.println(array[size - 1]);
  331.  
  332.     }
  333. }
  334.  
  335. public class Queue {
  336.  
  337.     private int size = 0;
  338.     private int[] array = new int[5];
  339.  
  340.     public void Enqueue(int data) {
  341.         if (size == array.length) {
  342.             int[] tmp = new int[array.length + 1];
  343.             for (int i = 0; i < size; i++) {
  344.                 tmp[i] = array[i];
  345.             }
  346.             array = tmp;
  347.         }
  348.         array[size] = data;
  349.         size++;
  350.     }
  351.  
  352.     public void Dequeue() {
  353.         int[] arr = new int[this.array.length];
  354.         if (size == 0) {
  355.             System.out.println("ERROR! (items in queue is not found)");
  356.             System.out.println();
  357.             return;
  358.         }
  359.  
  360.         System.out.println(array[0]);
  361.  
  362.  
  363.         for (int i = 1; i < size; i++) {
  364.             arr[i - 1] = array[i];
  365.         }
  366.         array = arr;
  367.         size--;
  368.     }
  369.  
  370.     public void Front() {
  371.         if (size == 0) {
  372.             System.out.println("No items found");
  373.             System.out.println();
  374.             return;
  375.         }
  376.         System.out.println(array[0]);
  377.     }
  378. }
  379.  
  380. public class Deque {
  381.  
  382.     private int[] array = new int[5];
  383.     private int size = 0;
  384.  
  385.     public void PushBack(int data){
  386.         if (size == array.length) {
  387.             int[] tmp = new int[array.length + 1];
  388.             for (int i = 0; i < array.length; i++) {
  389.                 tmp[i] = array[i];
  390.             }
  391.             array = tmp;
  392.         }
  393.         array[size] = data;
  394.         size++;
  395.     }
  396.  
  397.     public void PushFront(int data){
  398.         if(size==array.length) {
  399.             int[] tmp = new int[array.length + 1];
  400.             for (int i = 0; i < array.length; i++)
  401.                 tmp[i] = array[i];
  402.             array = tmp;
  403.         }
  404.  
  405.         for(int i=array.length-1; i>0; i--)
  406.             array[i]=array[i-1];
  407.         array[0]=data;
  408.         size++;
  409.  
  410.  
  411.  
  412.     }
  413.  
  414.  
  415.     public void PopFront(){
  416.         int[] arr = new int[this.array.length];
  417.         if (size == 0) {
  418.             System.out.println("ERROR! (items in Deque is not found)");
  419.             System.out.println();
  420.             return;
  421.         }
  422.  
  423.         System.out.println(array[0]);
  424.  
  425.  
  426.         for (int i = 1; i < size; i++) {
  427.             arr[i - 1] = array[i];
  428.         }
  429.         array = arr;
  430.         size--;
  431.     }
  432.  
  433.     public void PopBack(){
  434.         int[] arr = new int[this.array.length];
  435.         if (size == 0) {
  436.             System.out.println("ERROR! (items in Deque is not found)");
  437.             System.out.println();
  438.             return;
  439.         }
  440.         System.out.println(array[size - 1]);
  441.         size--;
  442.         for (int i = 0; i < size; i++) {
  443.             arr[i] = array[i];
  444.         }
  445.         array = arr;
  446.     }
  447.  
  448.     public void Front(){
  449.         if (size == 0) {
  450.             System.out.println("No items found");
  451.             System.out.println();
  452.             return;
  453.         }
  454.         System.out.println(array[0]);
  455.     }
  456.  
  457.     public void Print(){
  458.         for(int i=0;i<array.length;i++)
  459.             System.out.println(array[i]);
  460.     }
  461.     public void Back(){
  462.         if (size == 0) {
  463.             System.out.println("No items found");
  464.             System.out.println();
  465.             return;
  466.         }
  467.         System.out.println(array[size - 1]);
  468.     }
  469. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement