-
Notifications
You must be signed in to change notification settings - Fork 0
/
queue.html
135 lines (123 loc) · 5.22 KB
/
queue.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<script type="text/javascript">
var queue = [];
var size=0;
</script>
<title></title>
</head>
<body>
<br><br><br>
<center><h2>Queue Simulation</h2>
<div class="container" style="width:70%">
<br><br> Enter the size of Queue: <input type="text" id="num1"/><input type="button" class = "btn btn-primary btn-sm" onclick="setsize()" value="Set Size"/>
<br><br>
Enter the number to Add to Queue: <input type="text" id="num2"/><input type="button" class = "btn btn-primary btn-sm" onclick="queuepush()" value="Enqueue"/>
<br><br><input type="button" class = "btn btn-primary btn-sm" onclick="queuepop()" value="Dequeue"/>
<br><br>Queue :<div id="queue" style="overflow-x:auto;"></div>
<br><br><input type="button" class = "btn btn-primary btn-sm" onclick="isempty()" value="Call IsEmpty Function"/>
<br><br><input type="button" class = "btn btn-primary btn-sm" onclick="isfull()" value="Call IsFull Function"/>
<br><br><input type="button" class = "btn btn-primary btn-sm" onclick="front()" value="Display Front"/>
<br><br><input type="button" class = "btn btn-primary btn-sm" onclick="rear()" value="Display Rear"/>
<br><br><font size=6><div id="message"></div></font><br><br>
</center>
</div>
</body>
<script type="text/javascript">
function isempty()
{
var l=queue.length;
if(l==0)document.getElementById("message").innerHTML="<span class='label label-success'>Queue is Empty</span>";
else document.getElementById("message").innerHTML="<span class='label label-warning'>Queue is Not Empty</span>";
}
function isfull()
{
var l=queue.length;
if(size==0) document.getElementById("message").innerHTML="<span class='label label-warning'>The Size is Zero</span>";
else
{
if(l==size)document.getElementById("message").innerHTML="<span class='label label-success'>Queue is Full</span>";
else document.getElementById("message").innerHTML="<span class='label label-warning'>Queue is Not Full</span>";
}
}
function setsize()
{
var q=parseInt(document.getElementById("num1").value);
if(isNaN(q))document.getElementById("message").innerHTML="<span class='label label-warning'>Please Enter Valid Number</span>";
else
{
size=q;
document.getElementById("message").innerHTML="<span class='label label-success'>Queue Size Set to "+size.toString()+"</span>";
}
}
function front()
{
l=queue.length;
if(l==0)document.getElementById("message").innerHTML="<span class='label label-danger'>Queue is Empty, No Front Element</span>";
else
document.getElementById("message").innerHTML="<span class='label label-success'>The Front Element is "+queue[0].toString()+"</span>";
}
function rear()
{
l=queue.length;
if(l==0)document.getElementById("message").innerHTML="<span class='label label-danger'>Queue is Empty, No Rear Element</span>";
else
document.getElementById("message").innerHTML="<span class='label label-success'>The Rear Element is "+queue[l-1].toString()+"</span>";
}
function queuepush()
{
var q=parseInt(document.getElementById("num2").value);
// alert(q);
if(isNaN(q))document.getElementById("message").innerHTML="<span class='label label-warning'>Please Enter Valid Number</span>";
else
{
var l=queue.length;
// alert(l);
if(size==0)document.getElementById("message").innerHTML="<span class='label label-danger'>Please Specify a Size</span>";
else
{
if(l==size)document.getElementById("message").innerHTML="<span class='label label-danger'>The Queue Is Full</span>";
else
{
queue.push(q); // stack is now [2]
l=queue.length;
var htmlcode="<table border=5 cellspacing='10' bordercolor=grey id='queue'><tr>";
for(var r=0;r<l;r++)
{
htmlcode+="<td style='padding: 10px' bgcolor='black'><font color='white'>"+queue[r].toString()+"</font></td>";
}
htmlcode+="</tr></table>";
// document.write(htmlcode);
document.getElementById("queue").innerHTML=htmlcode;
}
}
}
}
function queuepop()
{
if(size==0)document.getElementById("message").innerHTML="<span class='label label-danger'>No Elements in Queue</span>";
else
{
var i = queue.shift();
var l=queue.length;
var htmlcode="<table border=5 cellpadding='10' bordercolor=grey id='queue'><tr>";
for(var r=0;r<l;r++)
{
htmlcode+="<td style='padding: 10px' bgcolor='black'><font color='white'>"+queue[r].toString()+"</font></td>";
}
htmlcode+="</tr></table>";
// document.write(htmlcode);
document.getElementById("queue").innerHTML=htmlcode;
}
}
// document.getElementById("result").innerHTML=stack;
</script>
</html>