Skip to content

Commit 1dd6a4c

Browse files
committed
chapter 05: [LinkedLists]
1 parent 77219d3 commit 1dd6a4c

13 files changed

+295
-2
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,6 @@ Work in Progress.
3838

3939
* Right click on the html file you would like to see the examples, right click and 'Open with Chrome (or any other browser)'
4040

41+
<img src="examples/examples-screenshot.png">
42+
4143
Happy Coding!

examples/chapter05/01-LinkedList.html

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="UTF-8">
5+
<title></title>
6+
</head>
7+
<body>
8+
<script src="./../PacktDataStructuresAlgorithms.min.js"></script>
9+
<script src="01-LinkedList.js"></script>
10+
</body>
11+
</html>

examples/chapter05/01-LinkedList.js

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
const { LinkedList } = PacktDataStructuresAlgorithms;
2+
3+
const list = new LinkedList();
4+
5+
console.log('push element 15');
6+
list.push(15);
7+
8+
console.log('list.indexOf(15) => ', list.indexOf(15));
9+
10+
console.log('push element 10');
11+
list.push(10);
12+
13+
console.log('list.toString() => ', list.toString());
14+
console.log('list.indexOf(10) => ', list.indexOf(10));
15+
16+
console.log('push element 13');
17+
list.push(13);
18+
19+
console.log('list.toString() => ', list.toString());
20+
console.log('list.indexOf(13) => ', list.indexOf(13));
21+
console.log('list.indexOf(10) => ', list.indexOf(10));
22+
23+
console.log('push elements 11 and 12');
24+
list.push(11);
25+
list.push(12);
26+
27+
console.log('list.toString() => ', list.toString());
28+
console.log('list.removeAt(1) => ', list.removeAt(1));
29+
console.log('list.toString() => ', list.toString());
30+
console.log('list.removeAt(3) => ', list.removeAt(3));
31+
console.log('list.toString() => ', list.toString());
32+
33+
console.log('push element 14');
34+
list.push(14);
35+
36+
console.log('list.toString() => ', list.toString());
37+
console.log('insert element 16 pos 0 => ', list.insert(16, 0));
38+
console.log('list.toString() => ', list.toString());
39+
console.log('insert element 17 pos 1 => ', list.insert(17, 1));
40+
console.log('list.toString() => ', list.toString());
41+
console.log('insert element 18 pos list.size() => ', list.insert(18, list.size()));
42+
console.log('list.toString() => ', list.toString());
43+
console.log('remove element 16 => ', list.remove(16));
44+
console.log('list.toString() => ', list.toString());
45+
console.log('remove element 11 => ', list.remove(11));
46+
console.log('list.toString() => ', list.toString());
47+
console.log('remove element 18 => ', list.remove(18));
48+
console.log('list.toString() => ', list.toString());
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="UTF-8">
5+
<title></title>
6+
</head>
7+
<body>
8+
<script src="./../PacktDataStructuresAlgorithms.min.js"></script>
9+
<script src="02-DoublyLinkedList.js"></script>
10+
</body>
11+
</html>
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
const { DoublyLinkedList } = PacktDataStructuresAlgorithms;
2+
3+
const list = new DoublyLinkedList();
4+
5+
console.log('push element 15');
6+
list.push(15);
7+
console.log('list.toString() => ', list.toString());
8+
console.log('list.inverseToString() => ', list.inverseToString());
9+
10+
console.log('push element 16');
11+
list.push(16);
12+
console.log('list.toString() => ', list.toString());
13+
console.log('list.inverseToString() => ', list.inverseToString());
14+
15+
console.log('push element 17');
16+
list.push(17);
17+
console.log('list.toString() => ', list.toString());
18+
console.log('list.inverseToString() => ', list.inverseToString());
19+
20+
console.log('insert element 13 pos 0 => ', list.insert(13, 0));
21+
console.log('list.toString() => ', list.toString());
22+
console.log('list.inverseToString() => ', list.inverseToString());
23+
24+
console.log('insert element 18 pos 4 => ', list.insert(18, 4));
25+
console.log('list.toString() => ', list.toString());
26+
console.log('list.inverseToString() => ', list.inverseToString());
27+
28+
console.log('insert element 14 pos 1 => ', list.insert(14, 1));
29+
console.log('list.toString() => ', list.toString());
30+
console.log('list.inverseToString() => ', list.inverseToString());
31+
32+
console.log('list.removeAt(0) => ', list.removeAt(0));
33+
console.log('list.toString() => ', list.toString());
34+
console.log('list.inverseToString() => ', list.inverseToString());
35+
36+
console.log('list.removeAt(list.size() - 1) => ', list.removeAt(list.size() - 1));
37+
console.log('list.toString() => ', list.toString());
38+
console.log('list.inverseToString() => ', list.inverseToString());
39+
40+
console.log('list.removeAt(1) => ', list.removeAt(1));
41+
console.log('list.toString() => ', list.toString());
42+
console.log('list.inverseToString() => ', list.inverseToString());
43+
44+
console.log('remove element 16 => ', list.remove(16));
45+
console.log('list.toString() => ', list.toString());
46+
console.log('list.inverseToString() => ', list.inverseToString());
47+
48+
console.log('remove element 14 => ', list.remove(14));
49+
console.log('list.toString() => ', list.toString());
50+
console.log('list.inverseToString() => ', list.inverseToString());
51+
52+
console.log('remove element 17 => ', list.remove(17));
53+
console.log('list.toString() => ', list.toString());
54+
console.log('list.inverseToString() => ', list.inverseToString());
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="UTF-8">
5+
<title></title>
6+
</head>
7+
<body>
8+
<script src="./../PacktDataStructuresAlgorithms.min.js"></script>
9+
<script src="03-CircularLinkedList.js"></script>
10+
</body>
11+
</html>
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
const { CircularLinkedList } = PacktDataStructuresAlgorithms;
2+
3+
const list = new CircularLinkedList();
4+
5+
console.log('push element 15');
6+
list.push(15);
7+
console.log('list.toString() => ', list.toString());
8+
9+
console.log('push element 16');
10+
list.push(16);
11+
console.log('list.toString() => ', list.toString());
12+
13+
console.log('insert element 14 pos 0 => ', list.insert(14, 0));
14+
console.log('list.toString() => ', list.toString());
15+
16+
console.log('insert element 14.5 pos 1 => ', list.insert(14.5, 1));
17+
console.log('list.toString() => ', list.toString());
18+
19+
console.log('insert element 17 pos 4 => ', list.insert(17, 4));
20+
console.log('list.toString() => ', list.toString());
21+
22+
console.log('list.removeAt(0) => ', list.removeAt(0));
23+
console.log('list.toString() => ', list.toString());
24+
25+
console.log('list.removeAt(1) => ', list.removeAt(1));
26+
console.log('list.toString() => ', list.toString());
27+
28+
console.log('list.removeAt(2) => ', list.removeAt(2));
29+
console.log('list.toString() => ', list.toString());
30+
31+
console.log('list.indexOf(14.5) => ', list.indexOf(14.5));
32+
console.log('list.indexOf(16) => ', list.indexOf(16));
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="UTF-8">
5+
<title></title>
6+
</head>
7+
<body>
8+
<script src="./../PacktDataStructuresAlgorithms.min.js"></script>
9+
<script src="04-SortedLinkedList.js"></script>
10+
</body>
11+
</html>
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
const { SortedLinkedList } = PacktDataStructuresAlgorithms;
2+
const { util } = PacktDataStructuresAlgorithms;
3+
4+
const list = new SortedLinkedList();
5+
6+
console.log('');
7+
for (let i = 5; i > 0; i--) {
8+
list.push(i);
9+
}
10+
11+
console.log('list after pushing 5, 4, 3, 2, and 1 => ', list.toString());
12+
13+
console.log('list.removeAt(1) => ', list.removeAt(1));
14+
15+
console.log('remove element 16 => ', list.remove(5));
16+
17+
console.log('list.toString() => ', list.toString());
18+
19+
// ------- Example 02
20+
21+
class MyObj {
22+
constructor(el1, el2) {
23+
this.el1 = el1;
24+
this.el2 = el2;
25+
}
26+
toString() {
27+
return `${this.el1.toString()}|${this.el2.toString()}`;
28+
}
29+
}
30+
31+
function myObjCompare(a, b) {
32+
return a.toString().localeCompare(b.toString());
33+
}
34+
35+
const ds = new SortedLinkedList(util.defaultEquals, myObjCompare);
36+
37+
console.log('*** SortedLinkedList with custom sorting function');
38+
39+
ds.push(new MyObj(3, 4));
40+
console.log('push MyObj(3, 4)');
41+
console.log('list.toString() => ', ds.toString());
42+
43+
ds.push(new MyObj(1, 2));
44+
console.log('push MyObj(1, 2)');
45+
console.log('list.toString() => ', ds.toString());
46+
47+
ds.push(new MyObj(5, 6));
48+
console.log('push MyObj(5, 6)');
49+
console.log('list.toString() => ', ds.toString());
50+
51+
ds.insert(new MyObj(0, 0), 4);
52+
console.log('insert MyObj(0, 0) pos 4 (pos ignored)');
53+
console.log('list.toString() => ', ds.toString());
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="UTF-8">
5+
<title></title>
6+
</head>
7+
<body>
8+
<script src="./../PacktDataStructuresAlgorithms.min.js"></script>
9+
<script src="05-StackLinkedList.js"></script>
10+
</body>
11+
</html>

0 commit comments

Comments
 (0)