Made byBobr AI

SORTIFY: C++ Sorting Algorithm Performance Analysis

A comparative study of Bubble, Selection, Insertion, Merge, Quick, and Counting Sort in C++ with execution time and swap count analysis.

#sorting-algorithms#cpp-programming#algorithm-analysis#computer-science#coding-project#performance-metrics
Watch
Pitch
SORTIFY

Sorting Algorithm Analyzer

A Comparative Study of Six Sorting Algorithms in C++

Team Lead
Bhumik Singh Dhami
Core Team
Kushagra Singhal | Aditya Gupta | Priyanshu Tiwari
github.com/BHUMIKSINGHDHAMI/sorting-analyzer
C++17 • Visual Studio Code • April 2026
Made byBobr AI
SORTIFY

Project Abstract

Choosing the right sorting algorithm isn't just about Big-O — real performance depends on time, memory, and system behavior.
Builds a Sorting Algorithm Analyzer in C++ comparing six algorithms: Bubble, Selection, Insertion, Merge, Quick, and Counting Sort.
Measures execution time using the <chrono> library, along with comparisons and swaps.
Tests different input types: random, sorted, and nearly sorted arrays.
Results displayed in a structured table for easy side-by-side comparison.
Helps identify which sorting algorithm performs best in different real-world situations.
Made byBobr AI
SORTIFY

Meet the Team

Student Project Team — 2026

BD
BHUMIK SINGH DHAMI
TEAM LEAD
dhamibhumiksingh@gmail.com
ID: 240221981
KS
KUSHAGRA SINGHAL
DEVELOPER
kushagrasinghal901@gmail.com
ID: 24011367
AG
ADITYA GUPTA
DEVELOPER
rakeshgupta01031971@gmail.com
ID: 240211443
PT
PRIYANSHU TIWARI
DEVELOPER
priyanshutiwari23102006@gmail.com
ID: 240212125
github.com/BHUMIKSINGHDHAMI/sorting-analyzer
Made byBobr AI
SORTIFY

System Architecture

Input Handler
Data Generator
Random
Sorted
Nearly Sorted
Timer Module
<chrono> High-Precision
Analyzer Core
Metrics Structure
Comparisons | Swaps | Time
Sorting Algorithms
Bubble
Selection
Insertion
Merge
Quick
Counting
Output Display
Tabular Results  |  Color-Coded Terminal
Made byBobr AI
SORTIFY

Project Approach

Step-by-Step Development Methodology

01
Algorithm Selection
Choose 6 sorting algorithms: Bubble, Insertion, Selection, Merge, Quick, Counting Sort
02
Implementation
Write C++ code for each algorithm in a modular architecture
03
Time Measurement
Use C++ <chrono> library to measure execution time in milliseconds
04
Swap Counting
Track number of swaps performed during each sort
05
Testing
Run on small, medium, large, random, nearly sorted datasets
06
Analysis
Compare results for speed, efficiency, and stability
07
Reporting
Present findings using tables, charts, and colored output
Made byBobr AI
SORTIFY

Key Features Implemented

Built with C++17 | Visual Studio Code | Git/GitHub

C++17
<chrono>
STL
<iomanip>
Git/GitHub
github.com/BHUMIKSINGHDHAMI/sorting-analyzer
6 Sorting Algorithms
With swap counter integration
High-Precision Timing
<chrono> millisecond precision
Multiple Dataset Types
Random, Sorted, Nearly Sorted
Tabular Output
Clean aligned result display using std::setw()
Modular Architecture
Easy to extend and maintain
Color-Coded Terminal
Visual highlighting of best/worst results
Made byBobr AI
SORTIFY

Task Distribution

Who built what

Task
Team Member(s)
1. Project structure and modular architecture design
Bhumik Singh Dhami
2. GitHub repository setup and version control
Kushagra Singhal
3. Data Generator module (random/sorted/nearly sorted)
Bhumik Singh Dhami
4. Timer module using library
Kushagra Singhal
5. Bubble Sort implementation with swap counter
Aditya Gupta
6. Selection Sort implementation with swap counter
Priyanshu Tiwari
7. Insertion Sort implementation with swap counter
Aditya Gupta
8. Merge Sort implementation with swap counter
Priyanshu Tiwari
Task
Team Member(s)
9. Quick Sort implementation with swap counter
Bhumik Singh Dhami
10. Counting Sort implementation with swap counter
Kushagra Singhal
11. Input Handler module
Aditya Gupta
12. Metrics structure definition
Bhumik Singh Dhami
13. Analyzer core logic
Kushagra Singhal
14. Tabular result formatting and output display
Priyanshu Tiwari
15. Terminal color formatting
Kushagra Singhal
Made byBobr AI
SORTIFY

Challenges & Solutions

Key Technical Roadblocks Overcome

⚠ PROBLEM
Precise Time Measurement
algorithms finish in microseconds on small datasets
✓ SOLUTION
Used std::chrono::high_resolution_clock with millisecond precision + warm-up runs
⚠ PROBLEM
Swap Counting
integrating counters into Merge Sort & Quick Sort without disrupting logic
✓ SOLUTION
Passed counter variables by reference through recursive calls, incremented at each swap
⚠ PROBLEM
Counting Sort for Negatives
initially assumed non-negative integers only
✓ SOLUTION
Implemented offset-based indexing to handle negative values in datasets
⚠ PROBLEM
Large Dataset Memory Overhead
multiple copies of large datasets caused memory issues
✓ SOLUTION
Copy-on-test approach — each algorithm receives a fresh copy of original dataset only when needed
⚠ PROBLEM
Tabular Output Alignment
inconsistent column widths for varying algorithm name lengths
✓ SOLUTION
Dynamic column width calculation using std::setw() for formatted output
Made byBobr AI
SORTIFY

Project Outcomes & Deliverables

What the system delivers upon completion

01

Multi-Algorithm Support

Supports 6 sorting algorithms — Bubble, Selection, Insertion, Merge, Quick, Counting Sort for comprehensive comparison.

02

Execution Time Analysis

Measures execution time with millisecond precision using C++ <chrono> library.

03

Swap Count Analysis

Tracks number of swaps performed during sorting to understand internal efficiency.

04

Multi-Dataset Testing

Tests on random, sorted, and nearly sorted inputs to observe performance under various conditions.

05

Tabular Result Display

Structured table format for easy side-by-side algorithm comparison with aligned columns.

06

Color-Coded Output

Terminal color formatting highlights best and worst-performing algorithms for readability.

Made byBobr AI
SORTIFY

Progress Overview

Current Completion Status — April 2026

Development Timeline
Phase 1: Planning & Algorithm Selection
COMPLETE
Phase 2: Program Structure Design
COMPLETE
Phase 3: Algorithm Implementation in C++
COMPLETE
Phase 4: Timer & Swap Counter Integration
COMPLETE
Phase 5: Multi-Dataset Testing (Random, Sorted, Nearly Sorted)
COMPLETE
Phase 6: Tabular Output Display
COMPLETE
Phase 7: Color-Coded Terminal Output
COMPLETE
Deliverables Checklist
1. All Sorting Algorithms
COMPLETED
2. Timer Module
COMPLETED
3. Data Generator
COMPLETED
4. Analyzer Core
COMPLETED
5. Tabular Output
COMPLETED
6. Color-Coded Output
COMPLETED
github.com/BHUMIKSINGHDHAMI/sorting-analyzer
Overall Project Completion 100%
Made byBobr AI
Bobr AI

DESIGNER-MADE
PRESENTATION,
GENERATED FROM
YOUR PROMPT

Create your own professional slide deck with real images, data charts, and unique design in under a minute.

Generate For Free

SORTIFY: C++ Sorting Algorithm Performance Analysis

A comparative study of Bubble, Selection, Insertion, Merge, Quick, and Counting Sort in C++ with execution time and swap count analysis.

SORTIFY

Sorting Algorithm Analyzer

A Comparative Study of Six Sorting Algorithms in C++

Bhumik Singh Dhami

Kushagra Singhal | Aditya Gupta | Priyanshu Tiwari

github.com/BHUMIKSINGHDHAMI/sorting-analyzer

C++17 • Visual Studio Code • April 2026

SORTIFY

Project Abstract

Choosing the right sorting algorithm isn't just about Big-O — real performance depends on time, memory, and system behavior.

Builds a Sorting Algorithm Analyzer in C++ comparing six algorithms: Bubble, Selection, Insertion, Merge, Quick, and Counting Sort.

Measures execution time using the &lt;chrono&gt; library, along with comparisons and swaps.

Tests different input types: random, sorted, and nearly sorted arrays.

Results displayed in a structured table for easy side-by-side comparison.

Helps identify which sorting algorithm performs best in different real-world situations.

SORTIFY

Meet the Team

Student Project Team — 2026

BD

BHUMIK SINGH DHAMI

TEAM LEAD

dhamibhumiksingh@gmail.com

240221981

KS

KUSHAGRA SINGHAL

DEVELOPER

kushagrasinghal901@gmail.com

24011367

AG

ADITYA GUPTA

DEVELOPER

rakeshgupta01031971@gmail.com

240211443

PT

PRIYANSHU TIWARI

DEVELOPER

priyanshutiwari23102006@gmail.com

240212125

github.com/BHUMIKSINGHDHAMI/sorting-analyzer

SORTIFY

System Architecture

SORTIFY

Project Approach

Step-by-Step Development Methodology

01

Algorithm Selection

Choose 6 sorting algorithms: Bubble, Insertion, Selection, Merge, Quick, Counting Sort

02

Implementation

Write C++ code for each algorithm in a modular architecture

03

Time Measurement

Use C++ &lt;chrono&gt; library to measure execution time in milliseconds

04

Swap Counting

Track number of swaps performed during each sort

05

Testing

Run on small, medium, large, random, nearly sorted datasets

06

Analysis

Compare results for speed, efficiency, and stability

07

Reporting

Present findings using tables, charts, and colored output

SORTIFY

Key Features Implemented

Built with C++17 | Visual Studio Code | Git/GitHub

C++17

&lt;chrono&gt;

STL

&lt;iomanip&gt;

Git/GitHub

6 Sorting Algorithms

With swap counter integration

High-Precision Timing

&lt;chrono&gt; millisecond precision

Multiple Dataset Types

Random, Sorted, Nearly Sorted

Tabular Output

Clean aligned result display using std::setw()

Modular Architecture

Easy to extend and maintain

Color-Coded Terminal

Visual highlighting of best/worst results

github.com/BHUMIKSINGHDHAMI/sorting-analyzer

SORTIFY

Task Distribution

Who built what

1. Project structure and modular architecture design

Bhumik Singh Dhami

2. GitHub repository setup and version control

Kushagra Singhal

3. Data Generator module (random/sorted/nearly sorted)

Bhumik Singh Dhami

4. Timer module using <chrono> library

Kushagra Singhal

5. Bubble Sort implementation with swap counter

Aditya Gupta

6. Selection Sort implementation with swap counter

Priyanshu Tiwari

7. Insertion Sort implementation with swap counter

Aditya Gupta

8. Merge Sort implementation with swap counter

Priyanshu Tiwari

9. Quick Sort implementation with swap counter

Bhumik Singh Dhami

10. Counting Sort implementation with swap counter

Kushagra Singhal

11. Input Handler module

Aditya Gupta

12. Metrics structure definition

Bhumik Singh Dhami

13. Analyzer core logic

Kushagra Singhal

14. Tabular result formatting and output display

Priyanshu Tiwari

15. Terminal color formatting

Kushagra Singhal

SORTIFY

Challenges & Solutions

Key Technical Roadblocks Overcome

Precise Time Measurement

algorithms finish in microseconds on small datasets

Used std::chrono::high_resolution_clock with millisecond precision + warm-up runs

Swap Counting

integrating counters into Merge Sort & Quick Sort without disrupting logic

Passed counter variables by reference through recursive calls, incremented at each swap

Counting Sort for Negatives

initially assumed non-negative integers only

Implemented offset-based indexing to handle negative values in datasets

Large Dataset Memory Overhead

multiple copies of large datasets caused memory issues

Copy-on-test approach — each algorithm receives a fresh copy of original dataset only when needed

Tabular Output Alignment

inconsistent column widths for varying algorithm name lengths

Dynamic column width calculation using std::setw() for formatted output

SORTIFY

Project Outcomes & Deliverables

What the system delivers upon completion

Multi-Algorithm Support

Supports 6 sorting algorithms — Bubble, Selection, Insertion, Merge, Quick, Counting Sort for comprehensive comparison.

Execution Time Analysis

Measures execution time with millisecond precision using C++ &lt;chrono&gt; library.

Swap Count Analysis

Tracks number of swaps performed during sorting to understand internal efficiency.

Multi-Dataset Testing

Tests on random, sorted, and nearly sorted inputs to observe performance under various conditions.

Tabular Result Display

Structured table format for easy side-by-side algorithm comparison with aligned columns.

Color-Coded Output

Terminal color formatting highlights best and worst-performing algorithms for readability.

SORTIFY

Progress Overview

Current Completion Status — April 2026

Planning & Algorithm Selection

Program Structure Design

Algorithm Implementation in C++

Timer & Swap Counter Integration

Multi-Dataset Testing

(Random, Sorted, Nearly Sorted)

Tabular Output Display

Color-Coded Terminal Output

All Sorting Algorithms

Timer Module

Data Generator

Analyzer Core

Tabular Output

Color-Coded Output

github.com/BHUMIKSINGHDHAMI/sorting-analyzer

  • sorting-algorithms
  • cpp-programming
  • algorithm-analysis
  • computer-science
  • coding-project
  • performance-metrics