Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 15837e4

Browse files
authored
removed console.log and formatted the code
1 parent 39ad398 commit 15837e4

File tree

1 file changed

+51
-53
lines changed

1 file changed

+51
-53
lines changed

‎priority-queue-linear-time.js

Lines changed: 51 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,61 @@
1-
const insert = (array,index,element) => {
2-
3-
let runner = array.length-1;
1+
const insert = (array, index, element) => {
42

5-
while(runner >= index) {
6-
array[runner + 1] = array[runner];
7-
runner--;
3+
let runner = array.length - 1;
4+
5+
while (runner >= index) {
6+
array[runner + 1] = array[runner];
7+
runner--;
88
}
9-
9+
1010
array[index] = element;
1111
}
1212

1313

14-
const priorityQueue = (array,element, start, end) => {
15-
16-
start = start || 0;
17-
end = end || array.length -1;
18-
19-
console.log(start,end);
20-
if(start > end){
21-
insert(array,end+1,element);
22-
return;
23-
}
24-
25-
const mid = Math.floor(start + (end - start)/2);
26-
const midElement = array[mid];
27-
28-
if(element >= midElement){
29-
if(element < array[mid-1] ){
30-
insert(array,mid,element);
31-
return;
14+
const priorityQueue = (array, element, start, end) => {
15+
16+
start = start || 0;
17+
end = end || array.length - 1;
18+
19+
if (start > end) {
20+
insert(array, end + 1, element);
21+
return;
3222
}
33-
return priorityQueue(array,element,start,mid-1);
34-
}
35-
36-
if(element < midElement){
37-
if(element >= array[mid+1]){
38-
insert(array,mid+1,element);
39-
return;
23+
24+
const mid = Math.floor(start + (end - start) / 2);
25+
const midElement = array[mid];
26+
27+
if (element >= midElement) {
28+
if (element < array[mid - 1]) {
29+
insert(array, mid, element);
30+
return;
31+
}
32+
return priorityQueue(array, element, start, mid - 1);
33+
}
34+
35+
if (element < midElement) {
36+
if (element >= array[mid + 1]) {
37+
insert(array, mid + 1, element);
38+
return;
39+
}
40+
return priorityQueue(array, element, mid + 1, end);
4041
}
41-
return priorityQueue(array,element,mid+1,end);
42-
}
43-
44-
}
45-
46-
// the search is linear
47-
const priorityQueueWithLinearSearch = (array,element) => {
48-
let i = array.length -1;
49-
while(element >= array[i]){
50-
i--;
51-
}
52-
insert(array,i+1,element)
53-
}
54-
55-
const array = [];
56-
57-
priorityQueue(array,4);
58-
priorityQueue(array,8);
59-
priorityQueue(array,1);
60-
priorityQueue(array,7);
61-
priorityQueue(array,3);
42+
43+
}
44+
45+
const priorityQueueWithLinearSearch = (array, element) => {
46+
let i = array.length - 1;
47+
while (element >= array[i]) {
48+
i--;
49+
}
50+
insert(array, i + 1, element)
51+
}
52+
53+
const array = [];
54+
55+
priorityQueue(array, 4);
56+
priorityQueue(array, 8);
57+
priorityQueue(array, 1);
58+
priorityQueue(array, 7);
59+
priorityQueue(array, 3);
6260

6361
console.log(array);

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /