Created
October 25, 2018 09:39
-
-
Save ridwanbejo/5a0d6bd7de4dda2d155cd8acdc51972e to your computer and use it in GitHub Desktop.
jalankan file ini dengan menggunakan "python queue-adt.py" di dalam cmd atau terminal
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class QueueArray(object): | |
def create_queue(self): | |
self.queue = [] | |
def destroy_queue(self): | |
self.queue = None | |
def enqueue(self, nilai): | |
if type(self.queue) != None: | |
self.queue.append(nilai) | |
else: | |
print "Queue sudah dihapus, tidak bisa memasukkan nilai ke Queue!" | |
def pull(self): | |
if type(self.queue) != None: | |
try: | |
del self.queue[0] | |
except IndexError: | |
print "Queue sudah kosong, tidak dapat menarik nilai dari Queue!" | |
else: | |
print "Queue sudah dihapus, tidak bisa memasukkan nilai ke Queue!" | |
def is_empty(self): | |
if self.size == 0: | |
return True | |
else: | |
return False | |
def size(self): | |
count_nilai = 0 | |
panjang_queue = len(self.queue) | |
for indeks in range(0, panjang_queue): | |
count_nilai = count_nilai + 1 | |
return count_nilai | |
def show(self): | |
panjang_queue = len(self.queue) | |
print " <- HEAD", | |
for indeks in range(0, panjang_queue): | |
print self.queue[indeks], | |
print " <- TAIL" | |
my_queue = QueueArray() | |
my_queue.create_queue() | |
my_queue.enqueue(10) | |
my_queue.enqueue(20) | |
my_queue.enqueue(30) | |
my_queue.enqueue(40) | |
my_queue.enqueue(50) | |
my_queue.enqueue(60) | |
my_queue.enqueue(70) | |
my_queue.enqueue(80) | |
my_queue.enqueue(90) | |
my_queue.enqueue(100) | |
my_queue.enqueue(110) | |
my_queue.enqueue(120) | |
print "SEBELUM: " | |
print my_queue.size() | |
my_queue.show() | |
for i in range(0, my_queue.size()): | |
print "\nITERASI - {0}:".format(i) | |
my_queue.pull() | |
print my_queue.size() | |
my_queue.show() | |
print "SESUDAH: " | |
my_queue.pull() | |
print my_queue.size() | |
my_queue.show() | |
# Contoh output | |
""" | |
$ python queue-adt.py | |
SEBELUM: | |
12 | |
<- HEAD 10 20 30 40 50 60 70 80 90 100 110 120 <- TAIL | |
ITERASI - 0: | |
11 | |
<- HEAD 20 30 40 50 60 70 80 90 100 110 120 <- TAIL | |
ITERASI - 1: | |
10 | |
<- HEAD 30 40 50 60 70 80 90 100 110 120 <- TAIL | |
ITERASI - 2: | |
9 | |
<- HEAD 40 50 60 70 80 90 100 110 120 <- TAIL | |
ITERASI - 3: | |
8 | |
<- HEAD 50 60 70 80 90 100 110 120 <- TAIL | |
ITERASI - 4: | |
7 | |
<- HEAD 60 70 80 90 100 110 120 <- TAIL | |
ITERASI - 5: | |
6 | |
<- HEAD 70 80 90 100 110 120 <- TAIL | |
ITERASI - 6: | |
5 | |
<- HEAD 80 90 100 110 120 <- TAIL | |
ITERASI - 7: | |
4 | |
<- HEAD 90 100 110 120 <- TAIL | |
ITERASI - 8: | |
3 | |
<- HEAD 100 110 120 <- TAIL | |
ITERASI - 9: | |
2 | |
<- HEAD 110 120 <- TAIL | |
ITERASI - 10: | |
1 | |
<- HEAD 120 <- TAIL | |
ITERASI - 11: | |
0 | |
<- HEAD <- TAIL | |
SESUDAH: | |
Queue sudah kosong, tidak dapat menarik nilai dari Queue! | |
0 | |
<- HEAD <- TAIL | |
""" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment