0% found this document useful (0 votes)
3 views9 pages

Notes Using Linked List

The document outlines a project report for a notes management system utilizing a linked list data structure, aimed at providing a flexible and efficient way for users to create, display, and delete notes. Key features include easy note management through linked list operations, a user-friendly interface, and future enhancements based on user feedback. The project emphasizes the advantages of linked lists in handling dynamic data and aims to streamline the note-taking process for both students and professionals.

Uploaded by

aryangoutam259
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views9 pages

Notes Using Linked List

The document outlines a project report for a notes management system utilizing a linked list data structure, aimed at providing a flexible and efficient way for users to create, display, and delete notes. Key features include easy note management through linked list operations, a user-friendly interface, and future enhancements based on user feedback. The project emphasizes the advantages of linked lists in handling dynamic data and aims to streamline the note-taking process for both students and professionals.

Uploaded by

aryangoutam259
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

NOTES USING LINKED LIST

Report submitted in partial fulfilment of the requirement for the degree of

Bachelor of Technology

In

Computer science & Engineering

By

Aman Jain , Aryan Goutam

To

Dr Geetika , HOD of CSE department

Maharaja Surajmal Institute of Technology

Affiliated to Guru Gobind Singh Indraprastha University

Janakpuri, New Delhi-58

2022-26
INTRODUCTION

Efficient data structures play a pivotal role. The various data structures are array , stack, queue, linked list,
trees , graphs. One such powerful structure is the linked list, revered for its flexibility and dynamic nature. In
the context of creating a notes management system, employing a linked list data structure offers a scalable
and adaptable solution. Linked list is more versatile as insertion and deletion is easier using linked list.

The primary goal of this project is to develop a notes management system that harnesses the versatility of a
linked list. This system will enable users to create, display and delete notes seamlessly, offering a user-
friendly interface for efficient note-taking and management.

Key Features:

1. Linked List Implementation: Utilizing the linked list structure to create a dynamic repository for notes,
allowing for easy insertion, deletion, and traversal of notes.
2. Note Creation and Editing: Providing functionalities to add notes empowering users to add their content.
3. Deletion: Allows the user to delete the notes that are no longer required by them hence freeing up memory.
CODE:

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

struct Note {

int serialNumber;

char content[100];

struct Note* next;

};

struct Note* createNote() {

struct Note* newNote = (struct Note*)malloc(sizeof(struct Note));

if (newNote == NULL) {

printf("Memory allocation failed\n");

return;

newNote->next = NULL;

return newNote;

void addNote(struct Note** head, const char* content) {

struct Note* newNote = createNote();

static int serialCounter = 1;

newNote->serialNumber = serialCounter++;
strncpy(newNote->content, content, sizeof(newNote->content) - 1);

newNote->next = *head;

*head = newNote;

printf("Note added successfully\n");

void displayNotes(const struct Note* head) {

printf("Notes:\n");

while (head != NULL) {

printf("%d. %s\n", head->serialNumber, head->content);

head = head->next;

void deleteNote(struct Note** head, int serialNumber) {

struct Note* current = *head;

struct Note* prev = NULL;

while (current != NULL && current->serialNumber != serialNumber) {

prev = current;

current = current->next;

if (current != NULL) {
if (prev == NULL) {

*head = current->next;

} else {

prev->next = current->next;

free(current);

printf("Note deleted successfully\n");

} else {

printf("Note with serial number %d not found\n", serialNumber);

void freeList(struct Note* head) {

while (head != NULL) {

struct Note* temp = head;

head = head->next;

free(temp);

int main() {

struct Note* head = NULL;

int choice;

char content[100];

int serialNumber;

do {
printf("\nNotes App Menu:\n");

printf("1. Add Note\n");

printf("2. Display Notes\n");

printf("3. Delete Note by Serial Number\n");

printf("4. Exit\n");

printf("Enter your choice: ");

scanf("%d", &choice);

switch (choice) {

case 1:

printf("Enter the content of the note: ");

scanf(" %[^\n]", content);

addNote(&head, content);

break;

case 2:

displayNotes(head);

break;

case 3:

printf("Enter the serial number of the note to delete: ");

scanf("%d", &serialNumber);

deleteNote(&head, serialNumber);

break;

case 4:

printf("Exiting the notes app\n");

break;
default:

printf("Invalid choice. Please try again.\n");

} while (choice != 4);

freeList(head);

return 0;

RESULT:
FUTURE SCOPE:

The future scope of a notes management system using a linked list data structure is quite
[Link] improving the user interface and experience by incorporating user feedback,
implementing more intuitive design elements, and refining functionalities based on user preferences.
Allowing noting down important data and knowledge and accessing it whenever [Link] just students
but professionals too.

CONCLUSION:

This project aims to leverage the advantages of a linked list data structure to create an efficient notes
management system. By offering an organized and adaptable platform, users will be able to streamline their
note-taking process and access information effortlessly.

REFERENCES:

Schaum’s Outlines( data structures with C): Data Structures with C (Schaum's Outline Series) is a vital
guidebook for such students and helps understand the conceptS and theories behind data structures. The
book deals with data structures in a comprehensive and exhaustive manner. Various new educational
features that have been incorporated in this book help the student grasp to topics effortlessly.

You might also like