CS340HW/LinkedQueue.java
CS340HW/LinkedQueue.java
import
java
.
util
.
LinkedList
;
public
class
LinkedQueue
<
AnyType
>
implements
Queue
<
AnyType
>
{
private
LinkedList
<
AnyType
>
data
;
public
LinkedQueue
()
{
data
=
new
LinkedList
<>
();
}
public
int
size
()
{
return
data
.
size
();
}
public
boolean
isEmpty
()
{
return
data
.
isEmpty
();
}
public
void
enqueue
(
AnyType
newValue
)
{
data
.
add
(
newValue
);
}
public
AnyType
first
()
{
return
data
.
get
(
0
);
}
public
AnyType
dequeue
()
{
return
data
.
remove
(
0
);
}
}
CS340HW/Queue.java
CS340HW/Queue.java
public
interface
Queue
<
AnyType
>
{
int
size
();
boolean
isEmpty
();
void
enqueue
(
AnyType
newValue
);
AnyType
first
();
AnyType
dequeue
();
}
CS340HW/Scheduler.java
CS340HW/Scheduler.java
public
abstract
class
Scheduler
{
protected
LinkedQueue
<
Process
>
readyQueue
;
public
Scheduler
()
{
readyQueue
=
new
LinkedQueue
<>
();
}
public
boolean
isReadyQueueEmpty
()
{
return
readyQueue
.
isEmpty
();
}
public
abstract
void
addProcessToReadyQueue
(
Process
p
);
public
abstract
Process
removeProcessFromReadyQueue
();
}