public class ArrayQueue implements Queue {

Σχετικά έγγραφα
public class ArrayStack implements Stack {

Δομές Δεδομένων & Ανάλυση Αλγορίθμων. 3ο Εξάμηνο. Ουρά (Queue) Υλοποίηση της με τη βοήθεια πίνακα.

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ. Δηµοσθένης Σταµάτης Τµήµα Πληροφορικής

Δηµοσθένης Σταµάτης Τµήµα Πληροφορικής T.E.I. ΘΕΣΣΑΛΟΝΙΚΗΣ

Oι βασικές πράξεις (λειτουργίες) που ορίζονται για τον τύπο στοίβα αναφέρονται παρακάτω:

Περιεχόµενα. 1 Εισαγωγή στις οµές εδοµένων 3. 2 Στοίβα (Stack) 5

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 5. Αφηρημένοι Τύποι Δεδομένων / Στοίβες και Ουρές

Δομές Δεδομένων (Data Structures)

Σι θα δούμε σε αυτό το μάθημα;

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

Διάλεξη 05: Αφηρημένοι Τύποι Δεδομένων

Δομές Δεδομένων & Αλγόριθμοι

Συνδεδεμένη Λίστα ΣΛ null VK 23

H κλάση ArrayList. Γιώργος Θάνος. Γραφείο Γ. Γκλαβάνη 37. Αντικει ενοστραφής Προγρα. ος όροφος

Συλλογές, Στοίβες και Ουρές

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών

Ευφυείς Τεχνολογίες ----Πράκτορες

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές)

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα μέσα σε αντικείμενα Αντικείμενα ως επιστρεφόμενες τιμές Αντικείμενα με πίνακες

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

Στοίβες - Ουρές. Στοίβα (stack) Γιάννης Θεοδωρίδης, Νίκος Πελέκης, Άγγελος Πικράκης Τµήµα Πληροφορικής

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ & ΑΛΓΟΡΙΘΜΟΙ ΕΡΓΑΣΤΗΡΙΟ

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )

Σύνοψη Προηγούμενου (1/2) Στοίβες, Ουρές, Ουρές Προτεραιότητας. Σύνοψη Προηγούμενου (2/2) Σημερινό Μάθημα. Πίνακες. Εισαγωγή, σε χρόνο O(1).

HY-252 Αντικειμενοστραφής Προγραμματισμός. Χειμερινό Εξάμηνο 2012 Διδάσκων: Χριστοφίδης Βασίλης. Ημερομηνία Παράδοσης: 16/11/2012

Δοµές Δεδοµένων. 6η Διάλεξη Αναδροµικές Εξισώσεις και Αφηρηµένοι Τύποι Δεδοµένων. Ε. Μαρκάκης

Από τη UML στον Κώδικα. Μέρος Α

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Μαθήματα από τα εργαστήρια

Αντικειµενοστρεφής Προγραµµατισµός

Τµήµα Πληροφορικής. Δοµές Δεδοµένων - Εργασία 1. Φθινοπωρινό Εξάµηνο Διδάσκων: E. Μαρκάκης. Στοίβες και Ουρές. Οικονοµικό Πανεπιστήµιο Αθηνών

4 ΔYNAMIKEΣ ΔOMEΣ ΔEΔOMENΩN

Αντικειμενοστρεφής Προγραμματισμός

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 8/4/2008. Πίνακες (Arrays)

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Μέθοδοι που επιστρέφουν αντικείμενα Deep and Shallow Copies

Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08

Αντικειµενοστραφής Προγραµµατισµός

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

Βασικές Έννοιες Δοµών Δεδοµένων

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 6 : ΠΙΝΑΚΕΣ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα

Κλάσεις στη Java. Παύλος Εφραιμίδης. Java Κλάσεις στη Java 1

Κλάσεις στη Java. Στοίβα - Stack. Δήλωση της κλάσης. ΗκλάσηVector της Java. Ηκλάση Stack

Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις

Δηµοσθένης Σταµάτης Τµήµα Πληροφορικής T.E.I. ΘΕΣΣΑΛΟΝΙΚΗΣ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός μνήμης Αντικείμενα παράμετροι String Interning

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Υλοποίηση Δυαδικού Σωρού σε γλώσσα Java. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

Απλές Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες απλές Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλή

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

Συγκρίσιμα Αντικείμενα (comparable)

2 ΓΡΑΜΜΙΚΕΣ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων

Διάλεξη 15: Αναδρομή (Recursion) Διδάσκων: Παναγιώτης Ανδρέου

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές

Week 7: Java Collection Classes

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι String Interning

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες Μέθοδοι tostring και equals Αντικείμενα μέσα σε αντικείμενα

p

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εξαιρέσεις

Ουρά Προτεραιότητας (priority queue)

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ & ΑΛΓΟΡΙΘΜΟΙ ΕΡΓΑΣΤΗΡΙΟ

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 4/3/2008

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

API: Applications Programming Interface

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

ΕΠΛ Φροντιστήριο 3

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 2 ΛΥΣΕΙΣ Γραμμικές Δομές Δεδομένων, Ταξινόμηση

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Έλεγχος ισότητας String Interning Αποαναφοροποίηση - dereferencing

Δομές Δεδομένων - Εργαστήριο 5. Ουρές Προτεραιότητας

υαδικό έντρο Αναζήτησης (BSTree)

Διδάσκων: Παναγιώτης Ανδρέου

Βασίλης Χριστοφίδης Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 21 Σεπτεµβρίου 2012

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές)

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07

Αντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων

Μονοδιάστατοι πίνακες Πολυδιάστατοι πίνακες Μέθοδοι Μέθοδοι Recursive Overloading

Διάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Αντικείμενα ως ορίσματα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

Transcript:

public class ArrayQueue implements Queue { // ΠΡΟΣΟΧΗ 2 δείκτες τώρα: // Ο ένας (index/last),ίδιος με πριν, δείχνει την θέση του νέου στοιχείου. // Ο άλλος (front) ΠΑΝΤΑ δείχνει την θέση του 1ου στοιχείου private static final int DEF_QUEUE_SIZE=20; private Object[] S; //Array of objects private int last ; // last, top, last, position, index, θέση νέου στοιχείου private int front ; // θα δείχνει στο 1 ο στοιχείο // Returns the first item of the Queue public Object front() throws QueueEmptyException { if (isempty()) throw new QueueEmptyException("EMPTY"); return S[first]; //ΔΕΝ ΑΛΛΑΖΕΙ Ο ΔΕΙΚΤΗΣ first // Removes the last item of the Queue public Object remove() throws QueueEmptyException { if (isempty()) throw new QueueEmptyException("EMPTY"); Object o=s[first]; //Γυρνάει πάντα το 1 ο S[first++]=null; return o; // Adds a new item into the Queue - IΔΙΟ ΜΕ ΠΡΙΝ public void add(object item) throws QueueFullException { if (isfull()) throw new QueueFullException("FULL"); S[last++]=item; //Utility Methods //ΠΡΟΣΟΧΗ αυτές τώρα ΑΛΛΑΖΟΥΝ λίγο!!! public int size() { return (last-first); public boolean isempty() { return (last==first); public boolean isfull() {return (last==q.length); private void alignment() { for(int i=first; i<last; i++) Q[i-first] = Q[i]; // shift all Q[i] objects last -= first; // recalculate last value first = 0; // recalculate first value

public class TestQueue { public static void main (String args[]) throws QueueFullException, QueueEmptyException { // st1= // ArrayQueue AS=.. System.out.println("\n=>Testing Queue's Operation: Adding"); { AS.add(st1); catch (QueueFullException e) { System.out.println("OO ΑDD1!! "+e); { System.out.println(AS.front()); catch (QueueEmptyException e) { System.out.println("OO front1!! "+e); { AS.add(st1); catch (QueueFullException e) { System.out.println("OO ΑDD2!! "+e); System.out.println("\n=>Testing Queue's Operation: Deleting"); { System.out.println(AS.front()); System.out.println(AS.remove()); System.out.println(AS.remove()); System.out.println(AS.remove()); catch (QueueEmptyException e) { System.out.println("OO POP!! "+e.getmessage()); System.out.println("\nBye Bye");

Aκολουθούν Ασκήσεις προς Εξοικείωση με την OYΡΑ!!!

Ερωτήματα ΑΣΚΗΣΕΙΣ 1. ιϖλασιάζει το µέγεθοςτου ϖίνακα (µεταφέρει και τα στοιχεία) public void doublequeue() ηµιουργεί ένα ϖίνακα µε διϖλάσια διάσταση αϖό τον αρχικό και µεταφέρει σ αυτόν τα στοιχεία της ουράς Η µέθοδος αυτή ενεργοϖοιείται όταν γεµίσει η ουρά. 2. Πως θα ελέγξω αν µια ουρά ισούται µε µια άλλη //Αϖαιτεί clear & alignment public boolean equals(αrrayqueue otherq) {.. H µέθοδος µϖορεί να γραφτεί µέσα στην κλάση ArrayQueue και να τεσταριστεί στην main ως εξής : ArrayQueue Q1, Q2 = //αρχικοϖοίηση και γέµισµα των δυο ουρών. if (Q1.equals(Q2)) System.out.println("ΙΣΕΣ"); // Τι θα ϖεριέχει η µέθοδος equals: Aν τα µεγέθη τους (size() ) δεν είναι ίσα, εϖιστρέφει false Aλλιώς (σε ίσα µεγέθη) ϖρέϖει να βγάζω ένα-ένα τα (τελευταία) στοιχεία τους µε remove() και να τα συγκρίνω. Αν 2 στοιχεία είναι άνισα θα εϖιστρέψει false, αλλιώς θα συνεχίσει τις συγκρίσεις µέχρι να αδειάσουν και οι 2 ουρές: o Όµως στο τέλος, δεν θέλουµε τις ουρές Α ΕΙΕΣ, άρα ϖρέϖει να χρησιµοϖοιήσουµε ΒΟΗΘΗΤΙΚΕΣ ΣΤΟΙΒΕΣ ώστε αϖό αυτές, να ξαναγεµίσουµε µετά τις αρχικές 3. Πώς θα αντιγράψω µια ουρά Q1 σε µια άλλη Q2. Τι θα ϖεριέχει η µέθοδος copyto: o Πρέϖει να βγάζω ένα-ένα τo (τελευταίo) στοιχείo της Q1 µε remove() και να το βάζω σε µια ΒΟΗΘΗΤΙΚΗ ΣΤΟΙΒΑ ώστε αϖό αυτήν, µετά να γεµίσω (copy) την Q2 aλλά και την αρχική ϖου εν τω µεταξύ άδειασε (µε τα remove()).

4. Να ϖροσθέσετε την ϖαρακάτω µέθοδο στην κλάση ArrayQueue: public Object deleteposition(int n) {... Η µέθοδος δέχεται έναν ακέραιο n και διαγράφει αϖό την ουρά το n στοιχείο της. To στοιχείο (ο2) στην θέση n=2, ϖου θα διαγράψω, δεν θα το βάλω στην βοηθητική ουρά. 5. Να ϖροσθέσετε την ϖαρακάτω µέθοδο στην κλάση ArrayQueue: public Object deleteobject(object obj) {... Η µέθοδος να δέχεται ένα αντικείµενο Object obj και να το διαγράφει αϖό την ουρά σε όϖοια θέση και αν βρίσκεται. Παρόµοια µε την 3. 6. ηµιουργήστε την ϖαρακάτω µέθοδο: public Queue evenqueue(queue inqueue) {.. η οϖοία εϖιστρέφει µία ουρά η οϖοία ϖεριέχει τα στοιχεία, ϖου βρίσκονται στις άρτιες θέσεις της ουράς. Tα στοιχείa ϖου δεν θέλω, δεν θα τα βάλω στην βοηθητική ουρά.

7. ηµιουργήστε µια µέθοδο: public static Queue createrandomqueue(int n) η οϖοία ϖαράγει και εϖιστρέφει µια ουρά ϖου ϖεριέχει n τυχαίους ακέραιους αριθµούς. Χρησιµοϖοιήστε την Math.random() 8. ηµιουργήστε µια µέθοδο public static double findaverage(queue inputqueue) ή οϖοία υϖολογίζει και εϖιστρέφει το µέσο όρο των αριθµών ϖου ϖεριέχει η ουρά inputqueue. Βγάζω ένα ένα τα στοιχεία και τα βάζω στην βοηθητική ουρά ώστε να υϖολογίσω τον µέσο όρο, και µετά ξαναγεµίζω την inputqueue. 9. ιαγραφή µεσαίου όρου ουράς public static int deletemidelement(queue inputqueue) Θα βρώ ϖρώτα το mid=size()/2, και τον διαγράφω όϖως στην 3. 10. ηµιουργήστε µία µέθοδο public static int deleteαvgelement(queue inputqueue) η οϖοία διαγράφει και εϖιστρέφει τον αριθµό ϖου είναι ϖιο κοντά στο µέσο όρο των αριθµών ϖου ϖεριέχει η ουρά inputqueue Αφού βρω ϖρώτα ϖοιο είναι το Average=sum(n i)/n βγάζοντας όλους τους αριθµούς στην βοηθητική στίβα, κατόϖιν θα τους βάλω ϖάλι στην inputqueue ελέγχοντάς ώστε να µην µϖει ο Average. 11. Να γράψετε τον κώδικα για την µέθοδο public static Queue deletefromqueue(queue inputqueue, int item) όϖου inputqueue µια ουρά εισόδου ϖου ϖεριέχει αριθµούς και item ένας αριθµός. Η µέθοδος αυτή δηµιουργεί και εϖιστρέφει µια νέα ουρά ϖου δεν ϖεριέχει τον αριθµό item. Παράδειγµα εκτέλεσης INPUT QUEUE : [100 34 45 12 23 56 78 89 23 ] FILTERED QUEUE (NUMBER 56) : [100 34 45 12 23 78 89 23] Βγάζω ένα ένα τα στοιχεία στην βοηθητική ουρά και τα συγκρίνω µε το item. Μόλις βρώ το στοιχείο γεµίζω την inputqueue.