Skip to content

Commit 2583690

Browse files
Merge pull request #781 from prajeeta15/queue-stacks
add: queue and stack support
2 parents bd23a9d + 1145cea commit 2583690

File tree

1 file changed

+274
-0
lines changed

1 file changed

+274
-0
lines changed
Lines changed: 274 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,274 @@
1+
{
2+
"meta": {
3+
"language": "kotlin",
4+
"language_version": "1.5",
5+
"language_name": "Kotlin",
6+
"structure": "queues_stacks"
7+
},
8+
"concepts": {
9+
"simple_queue_import_statement": {
10+
"name": "Import statement to add simple queue",
11+
"code": "import java.util.Queue\nimport java.util.LinkedList"
12+
},
13+
"simple_queue_data_type": {
14+
"name": "Queue data type name",
15+
"code": "Queue<T>"
16+
},
17+
"simple_queue_create_statement": {
18+
"name": "Create a queue",
19+
"code": "val queue: Queue<Int> = LinkedList()"
20+
},
21+
"simple_queue_create_copy_statement": {
22+
"name": "Create a queue from existing queue",
23+
"code": "val newQueue: Queue<Int> = LinkedList(existingQueue)"
24+
},
25+
"simple_queue_create_copy_from_list_statement": {
26+
"name": "Create a queue from a list of items",
27+
"code": "val queue: Queue<Int> = LinkedList(listOf(1, 2, 3))"
28+
},
29+
"simple_queue_destroy_statement": {
30+
"name": "Destroy/delete a queue",
31+
"code": "queue = null"
32+
},
33+
"simple_queue_data_structure": {
34+
"name": "Data structure that backs the simple queue",
35+
"code": "doubly-linked list"
36+
},
37+
"circular_queue_import_statement": {
38+
"not-implemented": true,
39+
"name": "Import statement to add circular queue"
40+
},
41+
"circular_queue_data_type": {
42+
"not-implemented": true,
43+
"name": "Queue data type name"
44+
},
45+
"circular_queue_create_statement": {
46+
"not-implemented": true,
47+
"name": "Create a queue"
48+
},
49+
"circular_queue_create_copy_statement": {
50+
"not-implemented": true,
51+
"name": "Create a queue from existing queue"
52+
},
53+
"circular_queue_create_copy_from_list_statement": {
54+
"not-implemented": true,
55+
"name": "Create a queue from a list of items"
56+
},
57+
"circular_queue_destroy_statement": {
58+
"not-implemented": true,
59+
"name": "Destroy/delete a queue"
60+
},
61+
"circular_queue_data_structure": {
62+
"not-implemented": true,
63+
"name": "Data structure that backs the simple queue"
64+
},
65+
"priority_queue_import_statement": {
66+
"name": "Import statement to add priority queue",
67+
"code": "import java.util.PriorityQueue"
68+
},
69+
"priority_queue_data_type": {
70+
"name": "Queue data type name",
71+
"code": "PriorityQueue<T>"
72+
},
73+
"priority_queue_create_statement": {
74+
"name": "Create a queue",
75+
"code": "val queue: PriorityQueue<Int> = PriorityQueue()"
76+
},
77+
"priority_queue_create_copy_statement": {
78+
"name": "Create a queue from existing queue",
79+
"code": "val newQueue: PriorityQueue<Int> = PriorityQueue(existingQueue)"
80+
},
81+
"priority_queue_create_copy_from_list_statement": {
82+
"name": "Create a queue from a list of items",
83+
"code": "val queue: PriorityQueue<Int> = PriorityQueue(listOf(1, 2, 3))"
84+
},
85+
"priority_queue_destroy_statement": {
86+
"name": "Destroy/delete a queue",
87+
"code": "queue = null"
88+
},
89+
"priority_queue_data_structure": {
90+
"name": "Data structure that backs the priority queue",
91+
"code": "binary heap data structure"
92+
},
93+
"double_ended_queue_import_statement": {
94+
"name": "Import statement to add double-ended queue",
95+
"code": "import java.util.ArrayDeque"
96+
},
97+
"double_ended_queue_data_type": {
98+
"name": "Queue data type name",
99+
"code": "ArrayDeque<T>"
100+
},
101+
"double_ended_queue_create_statement": {
102+
"name": "Create a queue",
103+
"code": "val deque: ArrayDeque<Int> = ArrayDeque()"
104+
},
105+
"double_ended_queue_create_copy_statement": {
106+
"name": "Create a queue from existing queue",
107+
"code": "val newDeque: ArrayDeque<Int> = ArrayDeque(existingDeque)"
108+
},
109+
"double_ended_queue_create_copy_from_list_statement": {
110+
"name": "Create a queue from a list",
111+
"code": "val deque: ArrayDeque<Int> = ArrayDeque(listOf(1, 2, 3))"
112+
},
113+
"double_ended_queue_destroy_statement": {
114+
"name": "Destroy/delete a queue",
115+
"code": "deque = null"
116+
},
117+
"double_ended_queue_data_structure": {
118+
"name": "Data structure that backs the double-ended queue",
119+
"code": "resizable array"
120+
},
121+
"stack_import_statement": {
122+
"name": "Import statement to add stacks",
123+
"code": "import java.util.ArrayDeque"
124+
},
125+
"stack_data_type": {
126+
"name": "Stack data type name",
127+
"code": "ArrayDeque<T>"
128+
},
129+
"stack_create_statement": {
130+
"name": "Create a stack",
131+
"code": "val stack: ArrayDeque<Int> = ArrayDeque()"
132+
},
133+
"stack_create_copy_statement": {
134+
"name": "Create a stack from existing stack",
135+
"code": "val newStack: ArrayDeque<Int> = ArrayDeque(existingStack)"
136+
},
137+
"stack_create_copy_from_list_statement": {
138+
"name": "Create a stack from a list",
139+
"code": "val stack: ArrayDeque<Int> = ArrayDeque(listOf(1, 2, 3))"
140+
},
141+
"stack_destroy_statement": {
142+
"name": "Destroy/delete a stack",
143+
"code": "stack = null"
144+
},
145+
"stack_data_structure": {
146+
"name": "Data structure that backs the stack",
147+
"code": "resizable array"
148+
},
149+
"queue_enqueue_an_item": {
150+
"name": "Enqueue an item (add to end)",
151+
"code": "queue.offer(item)"
152+
},
153+
"queue_enqueue_priority_item": {
154+
"not-implemented": true,
155+
"name": "Enqueue a high priority item (add to end of priority queue)"
156+
},
157+
"queue_enqueue_from_list": {
158+
"name": "Enqueue items from a list into queue (add list to end)",
159+
"code": "queue.addAll(listOf(4, 5, 6))"
160+
},
161+
"queue_enqueue_priority_from_list": {
162+
"not-implemented": true,
163+
"name": "Enqueue priority items from a list (add list to end of priority queue)"
164+
},
165+
"queue_dequeue_return_an_item": {
166+
"name": "Dequeue an item (remove from front, return item)",
167+
"code": "val item = queue.poll()"
168+
},
169+
"queue_dequeue_delete_an_item": {
170+
"name": "Dequeue an item (remove from front, don't return)",
171+
"code": "queue.poll()"
172+
},
173+
"queue_peek_at_next_item": {
174+
"name": "Look/peek at next available element (from front)",
175+
"code": "val item = queue.peek()"
176+
},
177+
"queue_peek_at_last_item": {
178+
"not-implemented": true,
179+
"name": "Look/peek at last element (from back)"
180+
},
181+
"queue_duplicate_next_item": {
182+
"not-implemented": true,
183+
"name": "Duplicate next item"
184+
},
185+
"queue_swap_two_items": {
186+
"not-implemented": true,
187+
"name": "Swap two items"
188+
},
189+
"queue_get_size": {
190+
"name": "Get size (number of items) in the queue",
191+
"code": "val size = queue.size"
192+
},
193+
"queue_get_capacity": {
194+
"not-implemented": true,
195+
"name": "Check capacity of queue"
196+
},
197+
"queue_export_to_list": {
198+
"name": "Export a list of all queue items",
199+
"code": "val list = queue.toList()"
200+
},
201+
"queue_clear_all": {
202+
"name": "Clear out all queue items",
203+
"code": "queue.clear()"
204+
},
205+
"stack_push_item": {
206+
"name": "Push an item (add to top)",
207+
"code": "stack.push(item)"
208+
},
209+
"stack_pop_return_item": {
210+
"name": "Pop an item (remove from top, return item)",
211+
"code": "val item = stack.pop()"
212+
},
213+
"stack_pop_delete_item": {
214+
"name": "Pop an item (remove from top, don't return)",
215+
"code": "stack.pop()"
216+
},
217+
"stack_peek_at_next_item": {
218+
"name": "Look/peek at next element (from top)",
219+
"code": "val item = stack.peek()"
220+
},
221+
"stack_peek_at_last_item": {
222+
"not-implemented": true,
223+
"name": "Look/peek at last element (from bottom)"
224+
},
225+
"stack_duplicate_next_item": {
226+
"not-implemented": true,
227+
"name": "Duplicate top item"
228+
},
229+
"stack_swap_two_items": {
230+
"not-implemented": true,
231+
"name": "Swap two items"
232+
},
233+
"stack_get_size": {
234+
"name": "Get size (number of items) on the stack",
235+
"code": "val size = stack.size"
236+
},
237+
"stack_get_capacity": {
238+
"not-implemented": true,
239+
"name": "Check capacity of stack"
240+
},
241+
"stack_export_to_list": {
242+
"name": "Export a list of all stack items",
243+
"code": "val list = stack.toList()"
244+
},
245+
"stack_clear_all": {
246+
"name": "Clear all stack items",
247+
"code": "stack.clear()"
248+
},
249+
"iterate_pointer_data_type": {
250+
"not-implemented": true,
251+
"name": "Data type of a iterator pointer"
252+
},
253+
"iterate_create_pointer": {
254+
"not-implemented": true,
255+
"name": "Create iterator"
256+
},
257+
"iterate_move_to_next_item": {
258+
"not-implemented": true,
259+
"name": "Move pointer to next item"
260+
},
261+
"iterate_move_to_previous_item": {
262+
"not-implemented": true,
263+
"name": "Move pointer to previous item"
264+
},
265+
"iterate_move_to_beginning": {
266+
"not-implemented": true,
267+
"name": "Move pointer to beginning of queue/stack"
268+
},
269+
"iterate_move_to_end": {
270+
"not-implemented": true,
271+
"name": "Move pointer to end of queue/stack"
272+
}
273+
}
274+
}

0 commit comments

Comments
 (0)