-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
124 lines (108 loc) · 4.01 KB
/
index.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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>DSA Visualization</title>
<link rel="stylesheet" href="index.css">
<script src="sort.js" defer></script>
<script src="search.js" defer></script>
<script src="leader-line.min.js"></script>
<script src="linear-ds.js" defer></script>
</head>
<body>
<section id="sorting">
<h2>DSA Sorting Visualization</h2>
<div class="container vertical-flex option-area">
<h3>Options</h3>
<div class="horizontal-flex">
<div>
<label for="num-bars">Number of bars: </label>
<input type="number" id="num-bars" name="num-bars" value="10" min="1" aria-label="Number of bars">
</div>
<div>
<label for="delay">Delay (ms): </label>
<input type="number" id="delay" name="delay" value="100" min="0" max="1000"
aria-label="Sorting delay in milliseconds">
</div>
<button class="disable-when-sorting" onclick="createBars()">Shuffle</button>
</div>
<div class="horizontal-flex">
<div>
<label for="sort-type">Sort Type: </label>
<select id="sort-type" title="Sort Type" aria-label="Select sort type">
<option value="bubbleSort">Bubble Sort</option>
<option value="insertionSort">Insertion Sort</option>
<option value="selectionSort">Selection Sort</option>
<option value="quickSort">Quick Sort</option>
<option value="shellSort">Shell Sort</option>
<option value="cocktailSort">Cocktail Sort</option>
<option value="oddEvenSort">Odd-Even Sort (Brick Sort)</option>
<option value="gnomeSort">Gnome Sort</option>
<option value="mergeSort">Merge Sort</option>
</select>
</div>
<div class="radio-group">
<label>Type: </label>
<input type="radio" id="continuous-type" name="type" value="continuous" title="Continuous" checked>
<label for="continuous-type">Continuous</label>
<input type="radio" id="step-by-step-type" name="type" value="discrete" title="Coming Soon"
disabled>
<label for="step-by-step-type">Step by Step</label>
</div>
<button class="disable-when-sorting" onclick="sort()">Sort</button>
</div>
</div>
<div class="container" id="sort-play-area">
<!-- Visualization Area -->
</div>
</section>
<hr>
<section id="searching">
<h2>DSA Searching Visualization</h2>
<div class="container vertical-flex option-area">
<h3>Options</h3>
<div class="horizontal-flex">
<div>
<label for="search-value">Value to search: </label>
<input type="number" id="search-value" name="search-value" value="50" aria-label="Value to search">
</div>
<div>
<label for="search-type">Search Type: </label>
<select id="search-type" title="Search Type" aria-label="Select search type">
<option value="linearSearch">Linear Search</option>
<option value="binarySearch">Binary Search</option>
</select>
</div>
<button class="disable-when-searching" onclick="searchReset()">Reset</button>
<button class="disable-when-searching" onclick="search()">Search</button>
</div>
</div>
<div class="container vertical-flex" id="search-play-area">
<!-- Visualization Area -->
</div>
</section>
<hr>
<section id="linear-ds">
<h2>Linked List</h2>
<div class="container vertical-flex option-area">
<h3>Options</h3>
<div class="horizontal-flex">
<input id="max-size" type="number" placeholder="Max Size" aria-label="Max Size">
<button onclick="create()">Create</button>
<br>
<input id="value-input" type="number" placeholder="Enter Value" aria-label="Enter Value">
<button onclick="append()">Append</button>
<button onclick="insertAtIndex()">Insert At Index</button>
<br>
<button onclick="removeAtIndex()">Remove At Index</button>
<button onclick="removeFirst()">Remove First</button>
<button onclick="removeLast()">Remove Last</button>
</div>
</div>
<div class="container vertical-flex" id="linked-list">
<!-- Visualization Area -->
</div>
</section>
</body>
</html>