1. Introduction to Structures ( Roll no.
1, 17, 37)
Problem Statement:
Create a structure Student with members roll_no, name, and marks. Write a program to
input details of 5 students and display the student with the highest marks.
2. Array of Structures ( Roll no. 2, 18, 38)
Problem Statement:
Define a structure Book with members title, author, and price. Store data of 10 books in
an array and display all books priced above ₹500.
3. Pointer to Structure ( Roll no. 3,19, 39)
Problem Statement:
Create a structure Employee containing id, name, and salary. Use a pointer to structure to
dynamically allocate memory for one employee, accept details, and display them.
4. Separate Chaining (Hashing with Linked List) ( Roll no. 4, 20, 40)
Problem Statement:
Implement a hash table using separate chaining for storing integers. Provide functions to
insert, search, and delete an element.
5. Linear Probing ( Roll no. 5, 21)
Problem Statement:
Write a program to implement a hash table using linear probing. Insert elements {25, 36,
49, 56, 72} using a hash function h(x) = x % 10 and display the final table.
6. Quadratic Probing ( Roll no. 6, 22)
Problem Statement:
Implement a hash table using quadratic probing. Show how collisions are resolved when
inserting {10, 22, 31, 44, 55, 70} into a table of size 10.
7. Double Hashing( Roll no. 7, 23)
Problem Statement:
Implement a hash table using double hashing with
h1(x) = x % 7 and h2(x) = 5 - (x % 5).
Insert 5 elements and display the hash table after each insertion.
8. Rehashing ( Roll no. 8, 24)
Problem Statement:
Write a program to implement rehashing when the load factor exceeds 0.7 in a hash table
using linear probing.
9. Stack (Array Implementation) ( Roll no. 9, 25)
Problem Statement:
Implement a stack using an array. Provide menu-driven options to push, pop, and display
stack elements.
11. Multiple Stacks Using Same Array ( Roll no. 10, 26)
Problem Statement:
Implement two stacks in a single array such that they grow from opposite ends. Perform
push and pop operations on both.
12. Queue (Array Implementation) ( Roll no. 11, 27)
Problem Statement:
Implement a simple queue using an array with enqueue and dequeue operations.
13. Circular Queue ( Roll no. 12, 31)
Problem Statement:
Implement a circular queue using an array. Perform insert, delete, and display operations.
15. Dequeue (Double Ended Queue) ( Roll no. 13, 32)
Problem Statement:
Write a program to implement a dequeue where insertion and deletion can occur at both
ends.
16. Stack Using Queue ( Roll no. 14, 33)
Problem Statement:
Implement a stack using two queues. Demonstrate push and pop operations.
17. Queue Using Stack ( Roll no. 15, 34)
Problem Statement:
Implement a queue using two stacks. Demonstrate enqueue and dequeue operations.
18. Singly Linked List ( Roll no. 16, 35)
Problem Statement:
Create a singly linked list of integers. Implement functions to insert a node at the beginning,
end, and at a given position.
19. Doubly Linked List ( Roll no. 17, 36)
Problem Statement:
Implement a doubly linked list with insertion and deletion at both ends.