# nitingoelcse2025-ai/dsa_in_c architecture

> Architecture diagram of the GitHub repository nitingoelcse2025-ai/dsa_in_c, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/nitingoelcse2025-ai/dsa_in_c
- Repository: https://github.com/nitingoelcse2025-ai/dsa_in_c

## Overview

This repository is a collection of standalone C examples for array operations, searching, sorting, and matrix operations—not one combined application. Each source file has its own console-driven workflow: the user enters data, the program performs one operation, and the result is printed. The sampled programs implement their logic in the same file as their entry point; unsampled capabilities are represented by their filenames, without inferring internal calls.

Main entry points: [`1D_array_merging.c`](https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/1D_array_merging.c) (Merge arrays), [`insertion_deletion_in_array.c`](https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/insertion_deletion_in_array.c) (Insert and delete), [`liner_search.c`](https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/liner_search.c) (Linear search), [`Binary_search.c`](https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/Binary_search.c) (Binary search)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_arrays["Array Operations"]
  node_array_merge["Merge arrays<br/>[1D_array_merging.c]"]
  node_array_edit["Insert and delete"]
end

subgraph group_search["Searching"]
  node_linear_search["Linear search<br/>[liner_search.c]"]
  node_binary_search["Binary search<br/>[Binary_search.c]"]
end

subgraph group_sorting["Sorting"]
  node_insertion_sort["Insertion sort<br/>[Insertion_sort.c]"]
  node_bubble_sort["Bubble sort<br/>[bubble_sort.c]"]
  node_selection_sort["Selection sort<br/>[Selection_sort.c]"]
  node_merge_sort["Merge sort<br/>[Merge_Sort.c]"]
  node_quick_sort["Quick sort<br/>[Quick_sort.c]"]
  node_radix_sort["Radix sort<br/>[Radix_sort.c]"]
end

subgraph group_matrices["Matrix Operations"]
  node_matrix_add["Matrix addition"]
  node_matrix_subtract["Matrix subtraction"]
  node_matrix_multiply["Matrix multiplication"]
  node_matrix_transpose["Matrix transpose<br/>[Matrix_transpose.c]"]
end

node_user(("Console user"))

node_user -->|"enters arrays"| node_array_merge
node_array_merge -->|"prints merged array"| node_user
node_user -->|"enters choices"| node_array_edit
node_array_edit -->|"prints array"| node_user
node_user -->|"enters values"| node_linear_search
node_linear_search -->|"prints search result"| node_user
node_user -->|"enters sorted values"| node_binary_search
node_binary_search -->|"prints search result"| node_user
node_user -->|"enters values"| node_insertion_sort
node_insertion_sort -->|"prints sorted array"| node_user
node_user -->|"enters values"| node_bubble_sort
node_bubble_sort -->|"prints sorted array"| node_user
node_user -->|"enters values"| node_selection_sort
node_selection_sort -->|"prints sorted array"| node_user
node_user -->|"enters values"| node_merge_sort
node_merge_sort -->|"prints sorted array"| node_user
node_user -->|"enters values"| node_quick_sort
node_quick_sort -->|"prints sorted array"| node_user
node_user -->|"enters values"| node_radix_sort
node_radix_sort -->|"prints sorted array"| node_user
node_user -->|"enters matrices"| node_matrix_add
node_matrix_add -->|"prints result matrix"| node_user
node_user -->|"enters matrices"| node_matrix_subtract
node_matrix_subtract -->|"prints result matrix"| node_user
node_user -->|"enters matrices"| node_matrix_multiply
node_matrix_multiply -->|"prints product matrix"| node_user
node_user -->|"enters matrix"| node_matrix_transpose
node_matrix_transpose -->|"prints transposed matrix"| node_user

click node_array_merge "https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/1D_array_merging.c"
click node_array_edit "https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/insertion_deletion_in_array.c"
click node_linear_search "https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/liner_search.c"
click node_binary_search "https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/Binary_search.c"
click node_insertion_sort "https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/Insertion_sort.c"
click node_bubble_sort "https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/bubble_sort.c"
click node_selection_sort "https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/Selection_sort.c"
click node_merge_sort "https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/Merge_Sort.c"
click node_quick_sort "https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/Quick_sort.c"
click node_radix_sort "https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/Radix_sort.c"
click node_matrix_add "https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/2D_matrix_adddition.c"
click node_matrix_subtract "https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/2D_array_subtraction.c"
click node_matrix_multiply "https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/2D_array_multiplication.c"
click node_matrix_transpose "https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/Matrix_transpose.c"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_array_merge,node_array_edit,node_user toneBlue
class node_linear_search,node_binary_search toneAmber
class node_insertion_sort,node_bubble_sort,node_selection_sort,node_merge_sort,node_quick_sort,node_radix_sort toneMint
class node_matrix_add,node_matrix_subtract,node_matrix_multiply,node_matrix_transpose toneRose
```

## Components

### Array Operations

- [Merge arrays](https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/1D_array_merging.c): `1D_array_merging.c`
- [Insert and delete](https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/insertion_deletion_in_array.c): `insertion_deletion_in_array.c`

### Searching

- [Linear search](https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/liner_search.c): `liner_search.c`
- [Binary search](https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/Binary_search.c): `Binary_search.c`

### Sorting

- [Insertion sort](https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/Insertion_sort.c): `Insertion_sort.c`
- [Bubble sort](https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/bubble_sort.c): `bubble_sort.c`
- [Selection sort](https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/Selection_sort.c): `Selection_sort.c`
- [Merge sort](https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/Merge_Sort.c): `Merge_Sort.c`
- [Quick sort](https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/Quick_sort.c): `Quick_sort.c`
- [Radix sort](https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/Radix_sort.c): `Radix_sort.c`

### Matrix Operations

- [Matrix addition](https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/2D_matrix_adddition.c): `2D_matrix_adddition.c`
- [Matrix subtraction](https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/2D_array_subtraction.c): `2D_array_subtraction.c`
- [Matrix multiplication](https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/2D_array_multiplication.c): `2D_array_multiplication.c`
- [Matrix transpose](https://github.com/nitingoelcse2025-ai/dsa_in_c/blob/master/Matrix_transpose.c): `Matrix_transpose.c`

### Other components

- **Console user**

## Connections

- Console user → Merge arrays: enters arrays
- Merge arrays → Console user: prints merged array
- Console user → Insert and delete: enters choices
- Insert and delete → Console user: prints array
- Console user → Linear search: enters values
- Linear search → Console user: prints search result
- Console user → Binary search: enters sorted values
- Binary search → Console user: prints search result
- Console user → Insertion sort: enters values
- Insertion sort → Console user: prints sorted array
- Console user → Bubble sort: enters values
- Bubble sort → Console user: prints sorted array
- Console user → Selection sort: enters values
- Selection sort → Console user: prints sorted array
- Console user → Merge sort: enters values
- Merge sort → Console user: prints sorted array
- Console user → Quick sort: enters values
- Quick sort → Console user: prints sorted array
- Console user → Radix sort: enters values
- Radix sort → Console user: prints sorted array
- Console user → Matrix addition: enters matrices
- Matrix addition → Console user: prints result matrix
- Console user → Matrix subtraction: enters matrices
- Matrix subtraction → Console user: prints result matrix
- Console user → Matrix multiplication: enters matrices
- Matrix multiplication → Console user: prints product matrix
- Console user → Matrix transpose: enters matrix
- Matrix transpose → Console user: prints transposed matrix
