Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class Main {
- static Scanner sc = new Scanner(System.in);
- static public void Linear(){
- boolean a=true;
- while(a) {
- System.out.println("1.List\n2.Stack\n3.Queue\n4.Deque\n");
- int answer = sc.nextInt();
- switch (answer) {
- case 1: {
- List ls = new List();
- boolean q1 = true;
- while (q1) {
- System.out.println("1.Insert\n2.Delete\n3.Lookup\n4.Prev\n5.Next\n6.Exit");
- int answ = sc.nextInt();
- switch (answ) {
- case 1: {
- int index = sc.nextInt();
- int data = sc.nextInt();
- ls.Insert(index,data);
- break;
- }
- case 2: {
- int index = sc.nextInt();
- ls.Delete(index);
- break;
- }
- case 3: {
- int pos = sc.nextInt();
- System.out.println(ls.Lookup(pos));
- break;
- }
- case 4: {
- ls.Prev();
- break;
- }
- case 5: {
- ls.Next();
- break;
- }
- case 6:{
- q1=false;
- Linear();
- break;
- }
- default: {
- System.out.println("Choose right item from list!");
- break;
- }
- }
- }
- }
- case 2: {
- Stack st = new Stack();
- boolean q2 = true;
- while (q2) {
- System.out.println("1.Push\n2.Pop\n3.Top\n4.Exit\n");
- int answ = sc.nextInt();
- switch (answ) {
- case 1: {
- int data = sc.nextInt();
- st.Push(data);
- break;
- }
- case 2: {
- st.Pop();
- break;
- }
- case 3: {
- st.Top();
- break;
- }
- case 4:{
- q2=false;
- Linear();
- break;
- }
- default: {
- System.out.println("Choose right item from list!");
- break;
- }
- }
- }
- }
- case 3: {
- Queue qu = new Queue();
- boolean q3 = true;
- while (q3) {
- System.out.println("1.Enqueue\n2.Dequeue\n3.Front\n4.Exit\n");
- int answ = sc.nextInt();
- switch (answ) {
- case 1: {
- int data = sc.nextInt();
- qu.Enqueue(data);
- break;
- }
- case 2: {
- qu.Dequeue();
- break;
- }
- case 3: {
- qu.Front();
- break;
- }
- case 4:{
- q3=false;
- Linear();
- break;
- }
- default: {
- System.out.println("Choose right item from list!");
- break;
- }
- }
- }
- }
- case 4: {
- Deque de = new Deque();
- boolean q4 = true;
- while (q4) {
- System.out.println("1.PushBack\n2.PushFront\n3.PopFront\n4.PopBack\n5.Front\n6.Back\n7.Print\n8.Exit\n");
- int answ = sc.nextInt();
- switch (answ) {
- case 1: {
- int data = sc.nextInt();
- de.PushBack(data);
- break;
- }
- case 2: {
- int data = sc.nextInt();
- de.PushFront(data);
- break;
- }
- case 3: {
- de.PopFront();
- break;
- }
- case 4:{
- de.PopBack();
- break;
- }
- case 5:{
- de.Front();
- break;
- }
- case 6:{
- de.Back();
- break;
- }
- case 7:{
- de.Print();
- break;
- }
- case 8:{
- q4=false;
- Linear();
- break;
- }
- default: {
- System.out.println("Choose right item from list!");
- break;
- }
- }
- }
- }
- case 5: {
- a=false;
- break;
- }
- default: {
- System.out.println("Choose right item from list!");
- break;
- }
- }
- }
- }
- public static void main(String[] args) {
- Linear();
- }
- }
- public class List {
- private int index = 0;
- private int size = 0;
- private int[] array = new int[5];
- public void Insert(int pos, int data){
- if((pos<=size)&&(pos>=0)){
- for(int i=array.length-1; i>pos; i--)
- array[i]=array[i-1];
- array[pos]=data;
- size++;
- if(size==array.length) {
- int[] tmp = new int[array.length + 1];
- for (int i = 0; i < array.length; i++)
- tmp[i] = array[i];
- array = tmp;
- }
- }
- else System.out.println("Error!");
- }
- public void Delete(int pos) {
- if ((pos < size) && (pos >= 0)) {
- for (int i = pos; i < size - 1; i++)
- array[i] = array[i + 1];
- size--;
- } else System.out.println("Error!");
- }
- public int Lookup(int position){
- if(size==0) {
- System.out.println("No items found!");
- return 0;
- }
- else if((position < 0 )||(position>array.length)) {
- System.out.println("Error!");
- return 0;
- }
- return array[position];
- }
- public void Prev(){
- if(index==0){
- System.out.println("Out of List range!");
- return;
- }
- System.out.println(array[index]);
- index--;
- }
- public void Next(){
- if(index==this.array.length){
- System.out.println("Out of List range!");
- return;
- }
- System.out.println(array[index]);
- index++;
- }
- }
- public class Stack {
- private int size = 0;
- private int[] array = new int[5];
- public void Push(int data) {
- if (size == array.length) {
- int[] tmp = new int[array.length + 1];
- for (int i = 0; i < array.length; i++) {
- tmp[i] = array[i];
- }
- array = tmp;
- }
- array[size] = data;
- size++;
- }
- public void Pop() {
- int[] arr = new int[this.array.length];
- if (size == 0) {
- System.out.println("ERROR! (items in stack is not found)");
- System.out.println();
- return;
- }
- System.out.println(array[size - 1]);
- size--;
- for (int i = 0; i < size; i++) {
- arr[i] = array[i];
- }
- array = arr;
- }
- public void Top() {
- if (size == 0) {
- System.out.println("No items found");
- System.out.println();
- return;
- }
- System.out.println(array[size - 1]);
- }
- }
- public class Queue {
- private int size = 0;
- private int[] array = new int[5];
- public void Enqueue(int data) {
- if (size == array.length) {
- int[] tmp = new int[array.length + 1];
- for (int i = 0; i < size; i++) {
- tmp[i] = array[i];
- }
- array = tmp;
- }
- array[size] = data;
- size++;
- }
- public void Dequeue() {
- int[] arr = new int[this.array.length];
- if (size == 0) {
- System.out.println("ERROR! (items in queue is not found)");
- System.out.println();
- return;
- }
- System.out.println(array[0]);
- for (int i = 1; i < size; i++) {
- arr[i - 1] = array[i];
- }
- array = arr;
- size--;
- }
- public void Front() {
- if (size == 0) {
- System.out.println("No items found");
- System.out.println();
- return;
- }
- System.out.println(array[0]);
- }
- }
- public class Deque {
- private int[] array = new int[5];
- private int size = 0;
- public void PushBack(int data){
- if (size == array.length) {
- int[] tmp = new int[array.length + 1];
- for (int i = 0; i < array.length; i++) {
- tmp[i] = array[i];
- }
- array = tmp;
- }
- array[size] = data;
- size++;
- }
- public void PushFront(int data){
- if(size==array.length) {
- int[] tmp = new int[array.length + 1];
- for (int i = 0; i < array.length; i++)
- tmp[i] = array[i];
- array = tmp;
- }
- for(int i=array.length-1; i>0; i--)
- array[i]=array[i-1];
- array[0]=data;
- size++;
- }
- public void PopFront(){
- int[] arr = new int[this.array.length];
- if (size == 0) {
- System.out.println("ERROR! (items in Deque is not found)");
- System.out.println();
- return;
- }
- System.out.println(array[0]);
- for (int i = 1; i < size; i++) {
- arr[i - 1] = array[i];
- }
- array = arr;
- size--;
- }
- public void PopBack(){
- int[] arr = new int[this.array.length];
- if (size == 0) {
- System.out.println("ERROR! (items in Deque is not found)");
- System.out.println();
- return;
- }
- System.out.println(array[size - 1]);
- size--;
- for (int i = 0; i < size; i++) {
- arr[i] = array[i];
- }
- array = arr;
- }
- public void Front(){
- if (size == 0) {
- System.out.println("No items found");
- System.out.println();
- return;
- }
- System.out.println(array[0]);
- }
- public void Print(){
- for(int i=0;i<array.length;i++)
- System.out.println(array[i]);
- }
- public void Back(){
- if (size == 0) {
- System.out.println("No items found");
- System.out.println();
- return;
- }
- System.out.println(array[size - 1]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement