Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.ListIterator;
- import java.util.Random;
- import java.util.Scanner;
- import static java.lang.System.out;
- public class Lab31p2
- {
- public static void main(String args[])
- {
- MyList list1 = new MyStack(100);
- MyList list2 = new MyQueuee(100);
- OurList list3 = new OurSet();
- OurList list4 = new OurOrdList();
- Random rnd = new Random(12345);
- for (int k = 1; k <= 20; k++)
- {
- int rndInt = rnd.nextInt(20) + 10;
- addData(list1,rndInt);
- addData(list2,rndInt);
- addOurData(list3,rndInt);
- addOurData(list4,rndInt);
- }
- showData(list1,list2,list3,list4);
- out.println();
- for (int k = 1; k <= 5; k++)
- {
- removeData(list1);
- removeData(list2);
- // ask the user right here what element to remove from each list
- out.print("What element do you want removed? ==> ");
- Scanner f=new Scanner(System.in);
- int element=f.nextInt();
- removeOurData(list3, element );
- removeOurData(list4, element );
- }
- showData(list1,list2,list3,list4);
- out.println();
- }
- public static void addData(MyList l1, int x)
- {
- l1.add(x);
- }
- public static void removeData(MyList l1)
- {
- l1.remove();
- }
- public static void showData(MyList l1, MyList l2,OurList l3, OurList l4)
- {
- out.println(l1);
- out.println(l2);
- out.println(l3);
- out.println(l4);
- }
- public static void addOurData(OurList l1,int x)
- {
- l1.add(x);
- }
- public static void removeOurData(OurList l1,int x)
- {
- l1.remove(x);
- }
- }
- abstract class OurList
- {
- public abstract void add(int x);
- public abstract boolean remove(int x);
- public abstract boolean isEmpty();
- public abstract int getSize();
- }
- class OurSet extends OurList {
- private ArrayList<Integer> arr;
- private int end;
- public OurSet() {
- arr = new ArrayList<Integer>();
- end = 0;
- }
- public void add(int x) {
- boolean TF = false;
- ListIterator<Integer> iter = arr.listIterator();
- while (iter.hasNext()) {
- if ((Integer) iter.next() == x)
- TF = true;
- }
- if (TF == false) {
- iter.add(x);
- end++;
- }
- }
- public boolean remove(int x) {
- ListIterator<Integer> iter = arr.listIterator();
- while (iter.hasNext()) {
- if (iter.next() == x) {
- iter.remove();
- end--;
- return true;
- }
- }
- return false;
- }
- public boolean isEmpty() {
- return end == 0;
- }
- public int getSize() {return end;}
- public String toString() {
- ListIterator<Integer> iter = arr.listIterator();
- String ret = "[";
- while (iter.hasNext()) {
- int x=iter.next();
- if (!iter.hasNext()) {
- ret = ret + x + "] ";
- } else
- ret = ret + x + ", ";
- }
- return ret;
- }
- }
- class OurOrdList extends OurList {
- private ArrayList<Integer> arr;
- private int end;
- public OurOrdList() {
- arr = new ArrayList<Integer>();
- end = 0;
- }
- public void add(int x) {
- boolean TF = false;
- int ex = 0;
- int exx;
- ListIterator<Integer> iter = arr.listIterator();
- while (iter.hasNext() && TF == false) {
- ex = iter.next();
- if (x <= ex) {
- iter.set(x);
- iter.add(ex);
- end++;
- TF = true;
- }
- }
- if (TF == false) {
- iter.add(x);
- TF = true;
- end++;
- }
- }
- public boolean remove(int x) {
- ListIterator<Integer> iter = arr.listIterator();
- while (iter.hasNext()) {
- if (iter.next() == x) {
- iter.remove();
- end--;
- return true;
- }
- }
- return false;
- }
- public boolean isEmpty() {
- return end == 0;
- }
- public int getSize() {return end;}
- public String toString() {
- ListIterator<Integer> iter = arr.listIterator();
- String ret = "[";
- while (iter.hasNext()) {
- int x=iter.next();
- if (!iter.hasNext()) {
- ret = ret + x + "] ";
- } else
- ret = ret + x + ", ";
- }
- return ret;
- }
- }
Add Comment
Please, Sign In to add comment