Description:
In this lab we basically, allow user to enter string, double and integer and have the string, integer, and double to display in ascending order, original order, reverse order and display the data variables without duplicates.We basically used the following:1. For Original order display, we just used arrays. 2. For the reverse order we used the stack push which causes the last element to pop out first. 3. For ascending order, we used priority queue which causes the output to display from the highest to lower order. 4. For non repetition, we just used hashset, to achieve our goal.
code:
//importing data structure types import java.util.LinkedHashSet; import java.util.PriorityQueue; import java.util.Scanner; import java.util.Set; import java.util.Stack; public class DataStructures { public static void main(String[] args) { System.out.println("Please enter the data type: "); System.out.println("1) Integer"); System.out.println("2) Double"); System.out.println("3) String"); Scanner input1 = new Scanner(System.in); int DataType = input1.nextInt(); System.out.println("How many elements:"); Scanner input2 = new Scanner(System.in); int NumberOfElements = input1.nextInt(); //initializing data structures int[] myArray1= new int[NumberOfElements]; Stack myStack1= new Stack(); PriorityQueue queue1= new PriorityQueue(); Set set1= new LinkedHashSet(); Double[] myArray2= new Double[NumberOfElements]; Stack myStack2= new Stack(); PriorityQueue queue2= new PriorityQueue(); Set set2= new LinkedHashSet(); String[] myArray3= new String[NumberOfElements]; Stack myStack3= new Stack(); PriorityQueue queue3= new PriorityQueue(); Set set3= new LinkedHashSet(); if(DataType==1){ for(int i=0; i<myArray1.length; i++){ //for an order listing System.out.println("Element Number "+i); Scanner input3 = new Scanner(System.in); int Element1 = input3.nextInt(); myArray1[i]=Element1; //for reverse order listing myStack1.push(Element1); //for ascending order listing queue1.offer(Element1); //for non repetitive listing set1.add(Element1); } } else if(DataType==2){ for(int i=0; i<myArray1.length; i++){ //for an order listing System.out.println("Element Number "+i); Scanner input4 = new Scanner(System.in); double Element2 = input4.nextDouble(); myArray2[i]=Element2; //for reverse order listing myStack2.push(Element2); //for ascending order listing queue2.offer(Element2); //for non repetitive listing set2.add(Element2); } } else if(DataType==3){ for(int i=0; i<myArray3.length; i++){ //for an order listing System.out.println("Element Number "+i); Scanner input5 = new Scanner(System.in); String Element3 = input5.nextLine(); myArray3[i]=Element3; //for reverse order listing myStack3.push(Element3); //for ascending order listing queue3.offer(Element3); //for non repetitive listing set3.add(Element3); } } //displays results if(DataType==1){ //showing integers System.out.println("The list of numbers entered in original order using Arrays: "); for(int number:myArray1){ System.out.println(number);} System.out.println("The list of numbers entered in reverse order using Push and Pop Stacks: "); for( int i1=0; i1<NumberOfElements; i1++){ System.out.println(myStack1.pop());} System.out.println("The list of numbers entered in ascending order using Priority Queue: "); for( int i1=0; i1<NumberOfElements; i1++){ System.out.println(queue1.poll());} System.out.println("The list of numbers listed only once using a Linked Hash Set: "); for(int Show1: set1){ System.out.println(Show1);} } //showing doubles else if(DataType==2){ System.out.println("The list of doubles entered in original order using Arrays: "); for(double number:myArray2){ System.out.println(number);} System.out.println("The list of doubles entered in reverse order using Push and Pop Stacks: "); for( int i1=0; i1<NumberOfElements; i1++){ System.out.println(myStack2.pop());} System.out.println("The list of doubles entered in ascending order using Priority Queue: "); for( int i1=0; i1<NumberOfElements; i1++){ System.out.println(queue2.poll());} System.out.println("The list of doubles listed only once using a Linked Hash Set: "); for(Double Show2: set2){ System.out.println(Show2);} } //showing strings else if(DataType==3){ System.out.println("The list of Strings entered in original order using Arrays: "); for(String number:myArray3){ System.out.println(number);} System.out.println("The list of Strings entered in reverse order using Push and Pop Stacks: "); for( int i1=0; i1<NumberOfElements; i1++){ System.out.println(myStack3.pop());} System.out.println("The list of Strings entered in ascending order using Priority Queue: "); for( int i1=0; i1<NumberOfElements; i1++){ System.out.println(queue3.poll());} System.out.println("The list of Strings listed only once using a Linked Hash Set: "); for(String Show3: set3){ System.out.println(Show3);}