DIT UNIVERSITY

Mobile Call Log Management System Project 8 • CSN102

Stack (LIFO) • O(1) Push/Pop/Peek • Odd Sem 2026-2027

Team Members: 1. Krishna Rustagi (1000024715 • BTRAI) 2. Samaksh Raj (1000025730 • BTME) 3. Rimesh Raj (1000026934 • BTME) 4. Aditya Raj (1000026924 • BTME)
Stack: ACTIVE
s->top: 19
Buffer: MAX = 50
09:41
5G
Phone
LIFO CALL STACK TOP INDEX: [19] (20/50)
📞
Samaksh Raj
Active call session
00:00
INCOMING CALL
Dr. CSN102 Faculty Evaluator
Stack Operations Hub (C Module Mappings)
C ENGINE TRACER System initialized: Array CallStack bounded by MAX=50. s->top points to newest call.
LIFO Architecture
●1. PUSH (Add)
pushCall(&s, c) Time: O(1)
●2. POP (Delete)
popCall(&s, &del) Time: O(1)
●3. PEEK (View Top)
peekCall(&s, &top) Time: O(1)
●4. TRAVERSE
viewCallLog(&s) Time: O(n)
ARRAY: CallRecord calls[MAX=50] LIFO ORDER (Top = Newest)

Stack Memory Top

19
Index of top element (s->top)

Array Utilization

20 / 50
40% buffer used

Complexity Matrix

pushCall()O(1) Time • O(1) Space
popCall()O(1) Time • O(1) Space
peekCall()O(1) Time • O(1) Space
viewCallLog()O(n) Time • O(1) Space
Memory Footprint2,404 Bytes (Fixed)
gcc calllog.c -o calllog -Wall && ./calllog
DIT CSN102 Runtime
Enter your choice:
Call Log Telemetry & Data Structure Analytics
📞 Total Call Records (n) 20 Active elements in stack (0 to s->top)
⏱️ Total Talk Time 48m 20s Cumulative call duration
📵 Missed Call Rate 20% (4 calls) Ratio of unanswered entries
💾 RAM Memory Footprint 2404 bytes 50 × sizeof(CallRecord) + sizeof(int)
FACULTY EVALUATION MATRIX

DIT University CSN102 Project 8: Mobile Call Log Management System

Academic Submission for Odd Semester 2026-2027 • B.Tech Engineering

TEAM LEAD
Krishna Rustagi (1000024715 • BTRAI)
Samaksh Raj • Rimesh Raj • Aditya Raj

1. Why Stack (LIFO) is the Optimal Choice

Mobile call history is inherently governed by Last-In-First-Out (LIFO) recency. When dialing or clearing calls, users interact with the most recent entry first. Using a Stack allows PUSH, POP, and PEEK in constant O(1) time.

2. Array vs Linked-List Stack Analysis

An Array-based stack provides contiguous memory allocation, zero pointer overhead (saving 8 bytes per node on 64-bit systems), and maximum CPU cache locality. The bounded capacity MAX = 50 mirrors real mobile logs.

3. Asymptotic Time & Space Proof

Push: O(1) | Pop: O(1) | Peek: O(1) | Traverse: O(n)
Space Complexity: O(MAX) fixed at compile-time (2,404 bytes), preventing dynamic heap fragmentation.

4. Error & Boundary Handling

• Underflow: isEmpty(s) guards pop and peek when top == -1.
• Overflow: isFull(s) guards push when top == MAX - 1, preventing buffer overflows.