DSA Lab C Snippets
A VS Code extension that turns every program in the Data Structures Lab - Program Index into a native snippet.
Type a shortcut such as sll_insert_end, press Tab or Enter, and the complete C program is inserted.
- Language: C (snippets are active in
.c files)
- Programs: 47 across 13 labs
How to use
- Open or create a
.c file (make sure the language mode, bottom-right, is C).
- Start typing a shortcut, for example
sll_insert_end.
- Pick the suggestion and press Tab or Enter. The full program appears.
- Compile and run:
gcc file.c -o file && ./file
Tips:
- Typing a prefix lists every related snippet, e.g.
sll_ (singly linked list), dll_, csll_, cdll_, stack, queue, array_.
- Every snippet also has a short alias:
l<lab>p<prog>, e.g. l2p1 = Lab 2 program 1.
- If suggestions do not appear, check that
"editor.snippetSuggestions" is not set to "none". To also get suggestions while typing inside comments or strings, enable "editor.quickSuggestions" for those contexts.
Shortcuts
Lab 1: Array Operations
| Shortcut |
Alias |
Program |
array_insert |
l1p1 |
Insert an Element at Any Position in an Array |
array_delete |
l1p2 |
Delete an Element from Any Position in an Array |
array_min_max |
l1p3 |
Find Minimum and Maximum Elements in an Array |
Lab 2: Singly Linked List (SLL)
| Shortcut |
Alias |
Program |
sll_insert_end |
l2p1 |
Insert a Node at the End of a Singly Linked List |
sll_insert_begin |
l2p2 |
Insert a Node at the Beginning of a Singly Linked List |
sll_insert_pos |
l2p3 |
Insert a Node at Any Specific Position in a Singly Linked List |
sll_delete_first |
l2p4 |
Delete the First Node of a Singly Linked List |
sll_delete_last |
l2p5 |
Delete the Last Node of a Singly Linked List |
sll_delete_pos |
l2p6 |
Delete a Node from Any Specific Position in a Singly Linked List |
Lab 3: Doubly Linked List (DLL)
| Shortcut |
Alias |
Program |
dll_insert_begin |
l3p1 |
Insert a Node at the Beginning of a Doubly Linked List |
dll_insert_end |
l3p2 |
Insert a Node at the End of a Doubly Linked List |
dll_insert_pos |
l3p3 |
Insert a Node at Any Position in a Doubly Linked List |
dll_delete_begin |
l3p4 |
Delete a Node from the Beginning of a Doubly Linked List |
dll_delete_end |
l3p5 |
Delete a Node from the End of a Doubly Linked List |
Lab 4: Circular Singly Linked List (CSLL)
| Shortcut |
Alias |
Program |
csll_insert_begin |
l4p1 |
Insert a Node at the Beginning of a Circular Singly Linked List |
csll_insert_end |
l4p2 |
Insert a Node at the End of a Circular Singly Linked List |
csll_insert_pos |
l4p3 |
Insert a Node at Any Position in a Circular Singly Linked List |
csll_delete_begin |
l4p4 |
Delete a Node from the Beginning of a Circular Singly Linked List |
csll_delete_end |
l4p5 |
Delete a Node from the End of a Circular Singly Linked List |
csll_delete_pos |
l4p6 |
Delete a Node from Any Position in a Circular Singly Linked List |
csll_display |
l4p7 |
Traverse and Display a Circular Singly Linked List |
Lab 5: Circular Doubly Linked List (CDLL)
| Shortcut |
Alias |
Program |
cdll_insert_begin |
l5p1 |
Insert a Node at the Beginning of a Circular Doubly Linked List |
cdll_insert_end |
l5p2 |
Insert a Node at the End of a Circular Doubly Linked List |
cdll_insert_pos |
l5p3 |
Insert a Node at Any Position in a Circular Doubly Linked List |
cdll_delete_begin |
l5p4 |
Delete a Node from the Beginning of a Circular Doubly Linked List |
cdll_delete_end |
l5p5 |
Delete a Node from the End of a Circular Doubly Linked List |
cdll_delete_pos |
l5p6 |
Delete a Node from Any Position in a Circular Doubly Linked List |
cdll_display |
l5p7 |
Traverse and Display a Circular Doubly Linked List |
Lab 6: Stack Implementation
| Shortcut |
Alias |
Program |
stack_array |
l6p1 |
Stack Implementation Using Array (Push, Pop, Display) |
stack_ll |
l6p2 |
Stack Implementation Using Linked List (Push, Pop, Display) |
Lab 7: Queues & Linked List Applications
| Shortcut |
Alias |
Program |
queue_array |
l7p1 |
Linear Queue Implementation Using Array (Enqueue, Dequeue, Display) |
queue_ll |
l7p2 |
Linear Queue Implementation Using Linked List (Enqueue, Dequeue, Display) |
csll_alternate |
l7p3 |
Print Alternate Elements of a Circular Singly Linked List |
sll_alternate |
l7p4 |
Print Alternate Elements of a Singly Linked List |
Lab 8: Binary Search Tree (BST)
| Shortcut |
Alias |
Program |
bst |
l8p1 |
BST Creation, Insertion, Search, Deletion, and Traversals |
Lab 9: AVL Tree
| Shortcut |
Alias |
Program |
avl |
l9p1 |
AVL Tree Creation, Rotations (LL, RR, LR, RL), Insertion, Deletion, and Inorder Traversal |
Lab 10: Bubble Sort & Threaded Binary Tree
| Shortcut |
Alias |
Program |
bubble_sort |
l10p1 |
Optimized Bubble Sort Algorithm |
threaded_bst |
l10p2 |
Right-Threaded Binary Search Tree (Creation, Insertion, and Stackless Inorder Traversal) |
Lab 11: Sorting Algorithms - Part 1
| Shortcut |
Alias |
Program |
selection_sort |
l11p1 |
Selection Sort Algorithm |
insertion_sort |
l11p2 |
Insertion Sort Algorithm |
quick_sort |
l11p3 |
Quick Sort Algorithm (Partitioning & Recursion) |
Lab 12: Sorting Algorithms - Part 2 & Hashing
| Shortcut |
Alias |
Program |
merge_sort |
l12p1 |
Merge Sort Algorithm (Divide-and-Conquer) |
heap_sort |
l12p2 |
Heap Sort Algorithm (Max-Heapify and In-place Sort) |
hash_table |
l12p3 |
Hash Table Implementation Using Open Addressing and Linear Probing |
Lab 13: Graph Algorithms & Huffman Coding
| Shortcut |
Alias |
Program |
dfs |
l13p1 |
Depth First Search (DFS) Graph Traversal Using Recursion |
bfs |
l13p2 |
Breadth First Search (BFS) Graph Traversal Using Queue |
huffman |
l13p3 |
Huffman Coding / Prefix Tree Structure |
| |