From 43c38c894cd8c2439e1023718a39c5e993962099 Mon Sep 17 00:00:00 2001 From: Prajeeta Pal <96904203+prajeeta15@users.noreply.github.com> Date: Fri, 17 Oct 2025 05:25:12 +0530 Subject: [PATCH 1/3] add: queue and stack support --- web/thesauruses/kotlin/1.5/queues_stacks.json | 274 ++++++++++++++++++ 1 file changed, 274 insertions(+) create mode 100644 web/thesauruses/kotlin/1.5/queues_stacks.json diff --git a/web/thesauruses/kotlin/1.5/queues_stacks.json b/web/thesauruses/kotlin/1.5/queues_stacks.json new file mode 100644 index 000000000..5bae5a3de --- /dev/null +++ b/web/thesauruses/kotlin/1.5/queues_stacks.json @@ -0,0 +1,274 @@ +{ + "meta": { + "language": "kotlin", + "language_version": "1.5", + "language_name": "Kotlin", + "structure": "queues_stacks" + }, + "concepts": { + "simple_queue_import_statement": { + "name": "Import statement to add simple queue", + "code": "import java.util.Queue\nimport java.util.LinkedList" + }, + "simple_queue_data_type": { + "name": "Queue data type name", + "code": "Queue" + }, + "simple_queue_create_statement": { + "name": "Create a queue", + "code": "val queue: Queue = LinkedList()" + }, + "simple_queue_create_copy_statement": { + "name": "Create a queue from existing queue", + "code": "val newQueue: Queue = LinkedList(existingQueue)" + }, + "simple_queue_create_copy_from_list_statement": { + "name": "Create a queue from a list of items", + "code": "val queue: Queue = LinkedList(listOf(1, 2, 3))" + }, + "simple_queue_destroy_statement": { + "name": "Destroy/delete a queue", + "code": "queue = null" + }, + "simple_queue_data_structure": { + "name": "Data structure that backs the simple queue", + "code": "doubly-linked list" + }, + "circular_queue_import_statement": { + "not-implemented": true, + "name": "Import statement to add circular queue" + }, + "circular_queue_data_type": { + "not-implemented": true, + "name": "Queue data type name" + }, + "circular_queue_create_statement": { + "not-implemented": true, + "name": "Create a queue" + }, + "circular_queue_create_copy_statement": { + "not-implemented": true, + "name": "Create a queue from existing queue" + }, + "circular_queue_create_copy_from_list_statement": { + "not-implemented": true, + "name": "Create a queue from a list of items" + }, + "circular_queue_destroy_statement": { + "not-implemented": true, + "name": "Destroy/delete a queue" + }, + "circular_queue_data_structure": { + "not-implemented": true, + "name": "Data structure that backs the simple queue" + }, + "priority_queue_import_statement": { + "name": "Import statement to add priority queue", + "code": "import java.util.PriorityQueue" + }, + "priority_queue_data_type": { + "name": "Queue data type name", + "code": "PriorityQueue" + }, + "priority_queue_create_statement": { + "name": "Create a queue", + "code": "val queue: PriorityQueue = PriorityQueue()" + }, + "priority_queue_create_copy_statement": { + "name": "Create a queue from existing queue", + "code": "val newQueue: PriorityQueue = PriorityQueue(existingQueue)" + }, + "priority_queue_create_copy_from_list_statement": { + "name": "Create a queue from a list of items", + "code": "val queue: PriorityQueue = PriorityQueue(listOf(1, 2, 3))" + }, + "priority_queue_destroy_statement": { + "name": "Destroy/delete a queue", + "code": "queue = null" + }, + "priority_queue_data_structure": { + "name": "Data structure that backs the priority queue", + "code": "binary heap data structure" + }, + "double_ended_queue_import_statement": { + "name": "Import statement to add double-ended queue", + "code": "import java.util.ArrayDeque" + }, + "double_ended_queue_data_type": { + "name": "Queue data type name", + "code": "ArrayDeque" + }, + "double_ended_queue_create_statement": { + "name": "Create a queue", + "code": "val deque: ArrayDeque = ArrayDeque()" + }, + "double_ended_queue_create_copy_statement": { + "name": "Create a queue from existing queue", + "code": "val newDeque: ArrayDeque = ArrayDeque(existingDeque)" + }, + "double_ended_queue_create_copy_from_list_statement": { + "name": "Create a queue from a list", + "code": "val deque: ArrayDeque = ArrayDeque(listOf(1, 2, 3))" + }, + "double_ended_queue_destroy_statement": { + "name": "Destroy/delete a queue", + "code": "deque = null" + }, + "double_ended_queue_data_structure": { + "name": "Data structure that backs the double-ended queue", + "code": "resizable array" + }, + "stack_import_statement": { + "name": "Import statement to add stacks", + "code": "import java.util.ArrayDeque" + }, + "stack_data_type": { + "name": "Stack data type name", + "code": "ArrayDeque" + }, + "stack_create_statement": { + "name": "Create a stack", + "code": "val stack: ArrayDeque = ArrayDeque()" + }, + "stack_create_copy_statement": { + "name": "Create a stack from existing stack", + "code": "val newStack: ArrayDeque = ArrayDeque(existingStack)" + }, + "stack_create_copy_from_list_statement": { + "name": "Create a stack from a list", + "code": "val stack: ArrayDeque = ArrayDeque(listOf(1, 2, 3))" + }, + "stack_destroy_statement": { + "name": "Destroy/delete a stack", + "code": "stack = null" + }, + "stack_data_structure": { + "name": "Data structure that backs the stack", + "code": "resizable array" + }, + "queue_enqueue_an_item": { + "name": "Enqueue an item (add to end)", + "code": "queue.offer(item)" + }, + "queue_enqueue_priority_item": { + "not-implemented": true, + "name": "Enqueue a high priority item (add to end of priority queue)" + }, + "queue_enqueue_from_list": { + "name": "Enqueue items from a list into queue (add list to end)", + "code": "queue.addAll(listOf(4, 5, 6))" + }, + "queue_enqueue_priority_from_list": { + "not-implemented": true, + "name": "Enqueue priority items from a list (add list to end of priority queue)" + }, + "queue_dequeue_return_an_item": { + "name": "Dequeue an item (remove from front, return item)", + "code": "val item = queue.poll()" + }, + "queue_dequeue_delete_an_item": { + "name": "Dequeue an item (remove from front, don't return)", + "code": "queue.poll()" + }, + "queue_peek_at_next_item": { + "name": "Look/peek at next available element (from front)", + "code": "val item = queue.peek()" + }, + "queue_peek_at_last_item": { + "not-implemented": true, + "name": "Look/peek at last element (from back)" + }, + "queue_duplicate_next_item": { + "not-implemented": true, + "name": "Duplicate next item" + }, + "queue_swap_two_items": { + "not-implemented": true, + "name": "Swap two items" + }, + "queue_get_size": { + "name": "Get size (number of items) in the queue", + "code": "val size = queue.size" + }, + "queue_get_capacity": { + "not-implemented": true, + "name": "Check capacity of queue" + }, + "queue_export_to_list": { + "name": "Export a list of all queue items", + "code": "val list = queue.toList()" + }, + "queue_clear_all": { + "name": "Clear out all queue items", + "code": "queue.clear()" + }, + "stack_push_item": { + "name": "Push an item (add to top)", + "code": "stack.push(item)" + }, + "stack_pop_return_item": { + "name": "Pop an item (remove from top, return item)", + "code": "val item = stack.pop()" + }, + "stack_pop_delete_item": { + "name": "Pop an item (remove from top, don't return)", + "code": "stack.pop()" + }, + "stack_peek_at_next_item": { + "name": "Look/peek at next element (from top)", + "code": "val item = stack.peek()" + }, + "stack_peek_at_last_item": { + "not-implemented": true, + "name": "Look/peek at last element (from bottom)" + }, + "stack_duplicate_next_item": { + "not-implemented": true, + "name": "Duplicate top item" + }, + "stack_swap_two_items": { + "not-implemented": true, + "name": "Swap two items" + }, + "stack_get_size": { + "name": "Get size (number of items) on the stack", + "code": "val size = stack.size" + }, + "stack_get_capacity": { + "not-implemented": true, + "name": "Check capacity of stack" + }, + "stack_export_to_list": { + "name": "Export a list of all stack items", + "code": "val list = stack.toList()" + }, + "stack_clear_all": { + "name": "Clear all stack items", + "code": "stack.clear()" + }, + "iterate_pointer_data_type": { + "not-implemented": true, + "name": "Data type of a iterator pointer" + }, + "iterate_create_pointer": { + "not-implemented": true, + "name": "Create iterator" + }, + "iterate_move_to_next_item": { + "not-implemented": true, + "name": "Move pointer to next item" + }, + "iterate_move_to_previous_item": { + "not-implemented": true, + "name": "Move pointer to previous item" + }, + "iterate_move_to_beginning": { + "not-implemented": true, + "name": "Move pointer to beginning of queue/stack" + }, + "iterate_move_to_end": { + "not-implemented": true, + "name": "Move pointer to end of queue/stack" + } + } +} \ No newline at end of file From 60c5b9b00260f581cccfcd662586e977fe19965f Mon Sep 17 00:00:00 2001 From: prajeeta <96904203+prajeeta15@users.noreply.github.com> Date: Fri, 17 Oct 2025 22:39:02 +0530 Subject: [PATCH 2/3] fix: applied review changes --- web/thesauruses/kotlin/1.5/queues_stacks.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web/thesauruses/kotlin/1.5/queues_stacks.json b/web/thesauruses/kotlin/1.5/queues_stacks.json index 5bae5a3de..14786a800 100644 --- a/web/thesauruses/kotlin/1.5/queues_stacks.json +++ b/web/thesauruses/kotlin/1.5/queues_stacks.json @@ -32,7 +32,7 @@ }, "simple_queue_data_structure": { "name": "Data structure that backs the simple queue", - "code": "doubly-linked list" + "comment": "doubly-linked list" }, "circular_queue_import_statement": { "not-implemented": true, @@ -116,7 +116,7 @@ }, "double_ended_queue_data_structure": { "name": "Data structure that backs the double-ended queue", - "code": "resizable array" + "comment": "resizable array" }, "stack_import_statement": { "name": "Import statement to add stacks", @@ -271,4 +271,4 @@ "name": "Move pointer to end of queue/stack" } } -} \ No newline at end of file +} From 1145cea2c04e702e6c7bdd814da10326437fae0e Mon Sep 17 00:00:00 2001 From: prajeeta <96904203+prajeeta15@users.noreply.github.com> Date: Sun, 26 Oct 2025 09:09:17 +0530 Subject: [PATCH 3/3] fix: applied new review changes --- web/thesauruses/kotlin/1.5/queues_stacks.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/thesauruses/kotlin/1.5/queues_stacks.json b/web/thesauruses/kotlin/1.5/queues_stacks.json index 14786a800..98aa87d54 100644 --- a/web/thesauruses/kotlin/1.5/queues_stacks.json +++ b/web/thesauruses/kotlin/1.5/queues_stacks.json @@ -32,7 +32,7 @@ }, "simple_queue_data_structure": { "name": "Data structure that backs the simple queue", - "comment": "doubly-linked list" + "code": "doubly-linked list" }, "circular_queue_import_statement": { "not-implemented": true, @@ -116,7 +116,7 @@ }, "double_ended_queue_data_structure": { "name": "Data structure that backs the double-ended queue", - "comment": "resizable array" + "code": "resizable array" }, "stack_import_statement": { "name": "Import statement to add stacks",