Vous êtes sur la page 1sur 7

//Metodologjia FIFO (Fist IN , First OUT)

public class Queue_Circular {

private int capacity; //size e vektorit

int queueArr[]; //vektori

int front; //front

int rear; //rear

int currentSize= 0; //madhesia e rradhes

//konstruktori

public Queue_Circular(int sizeOfQueue)

{ this.capacity= sizeOfQueue;

front= 0;

rear= -1;

queueArr= new int[this.capacity]; }

//shtojm elemente ne rradhe

public void enqueue(int data)

{ if(isFull()) {

System.out.println("Queue plot!");}

else{

rear++;

if(rear== capacity-1)

rear= 0;

queueArr[rear] = data;

currentSize++;

}
}

//fshijme elemente ne rradhe

public void dequeue(){

if(isEmpty())

System.out.println("Queue bosh!");

else{

front++;

if(front== capacity-1) {

front= 0;}

currentSize--;}

//8 //shohim nese eshte plot

public boolean isFull(){

if(currentSize== capacity) {

return true;}

return false;}

//7 //shohim nese eshte boshe

public boolean isEmpty(){

if(currentSize== 0)

{return true;}

return false;}

public void printQueue(){


for(int i=front;i<=rear;i++){

System.out.println(queueArr[i]+" ");}

System.out.println();}

/*Metodat që duhet të përfshini në klasë janë:

* 1.insertFront(int x)

* 2.insertRear(int x)

* 3.deleteFront()

* 4.deleteRear()

* 5.getFront()

* 6.getRear()

* 7.isEmpty()

* 8.isFull()

* Përcaktoni një klasë Test në të cilën të krijoni një dequeuedhe të thirrni metodat e
mësipërme.

*/

//1 //vendos front

public void insertFront(int x) {

if(isFull()){

System.out.println("Rradha eshte plot!");

if(front==-1) { //nese front eshte -1 dmth queue eshte boshe


front=rear=0; //per te inicializuar qe elementi i pare ne rradhe do jete ne
index 0 .

else if(front==0) {

front=queueArr.length-1; //kalon ne fund te array per te vendosur elementin


e ri

}else {

front--; //nese rradha nuk eshte boshe front dekrementohet per te kaluar ne
indeksin e lire perpara front aktual

queueArr[front]=x;

//2 //vendos rear

public void insertRear(int x) {

if(isFull()){

System.out.println("Rradha eshte plot!");

if(front ==-1) {

front=rear=0; //per te inicializuar qe elementi i pare ne rradhe do jete ne


index 0

else if(rear==queueArr.length-1) {

rear=0;

}else {

// nes eehste plot rear inkremtnothet per te shtuar element te ri

rear++;

}
queueArr[rear]=x;

//fshin elementin front

//3

public int deleteFront() {

if(isEmpty()){

System.out.println("Rradha eshte bosh!");

int fshire=queueArr[front];

if(front==rear) { //kjo tregon qe rradha k vetem nje element

//& kjo tregon qe rradhe eshte boshe tani

front=rear=-1;

else if(front==queueArr.length-1) {

front=0;

else {

//front inkremenetohet per te kaluar indeksin ne elementin pasardhes

front++;

return fshire;

//4 //fshin rear

public int deleteRear() {

if(isEmpty()){

System.out.println("Rradha eshte bosh!"); //kontrollon nese rradha eshte


boshe
}

int fshire=queueArr[rear];

if(front==rear) { //nese kane vetem nje element pra rear=front

//element ne rear fshihet

front=rear=-1; //kto inicializohen ne -1 per te treguar qe eshte boshe2

else if(rear==0) { //elementi i fundit ne rradhe eshte ne fillim te array tani

rear=queueArr.length -1; }

else {

rear--; //dekrementohet per te fshire elementin ne rear

return fshire;

//5 //kthen front

public int getFront() {

if(isEmpty()) {

System.out.println("Rradha eshte boshe");

return queueArr[front];

//6 //kthen rear

public int getRear() {

if(isEmpty()) {

System.out.println("Rradha eshte boshe");

return queueArr[rear]; }

Vous aimerez peut-être aussi