You are on page 1of 16

A

MICRO PROJECT REPORT

ON

“ Linked list ”
Submitted by

Sr. No. Name of Student Roll No.

01 Bhosale Amar Umesh 2101


02 Mistri Harshal Gajanan 2102
03 Lohar Pradnya Dipak 2103
04 Shinde Sushant Dipak 2104
05 Kengar Suverna Balu 2105

Under the guidance of


Ms. Khandagade M. J.

Academic Year
2021-2022

DEPARTMENT OF SCIENCE & HUMANITIES

Loknete Hon. Hanmantrao Patil Charitable Trust’s

ADARSH INSTITUTE OF TECHNOLOGY & RESEARCH CENTRE VITA,


DIST-SANGLI

2
Loknete Hon. HanmantraoPatil Charitable Trust’s
Adarsh Institute of Technology & Research Centre Vita,

CERTIFICATE
This is to certify that the micro project report entitled

“Linked list”
Submitted by

Sr. No. Name of Student Roll No.


01 Bhosale Amar Umesh 2101
02 Mistri Harshal Gajanan 2102
03 Lohar Pradnya Dipak 2103
04 Shinde Sushant Dipak 2104
05 Kengar Suvarna Balu 2105

For Third Semester of Diploma in Computer Technology of course Data Structure Using C (22317) for
academic year 2021-22 as per MSBTE, Mumbai curriculum of ‘I’ scheme.

DIPLOMA OFENGINEERING
(Computer Technology)

SUBMITTED TO
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION MUMBAI
ACADEMIC YEAR 2021-22

Project Guide H.O.D. Principal


Ms.M.J. Khandagade Mr.A.A.Vankudre Dr.D.K.Mahadik
PART A - Micro-Project Proposal

2
Title of Micro-Project: Perform operatioins on singly linked list and circular singly list .

1.0 Brief Introduction

In Computer Science one of the most basic and fundamental data structures is the linked list, which functions
similarly to an array. The principal benefit of a linked list over a conventional array is that the list elements can
easily be inserted or removed without reallocation of any other elements.In some programming languages the size
of an array is a concern and one of the ways to overcome that problem and allow dynamically allocated data is
using linked lists.Luckily in Ruby arrays aren’t limited to a certain size, so you don’t have to think about
overcoming that limitation.So if array size is not a limitation in Ruby, are linked lists really necessary? The short
answer to that is no; however, it’s the simplest of the dynamic data structures and it will give you a solid
foundation, so you can understand more complex data structures like graphs and binary trees with more
ease.Structure of a Linked ListA linked list is a linear collection of data elements called nodes that “point” to the
next node by means of a pointer.Each node holds a single element of data and a link or pointer to the next node in
the list.A head node is the first node in the list, a tail node is the last node in the list. Below is a basic
representation of a linked list:[ NODE(head) ] -> [ NODE ] -> [ NODE(tail) ] -> ni

2.0 Aim of the Micro-Project

1.To develop a sense of team rapport, dissolve group barriers and create the foundation for good teamwork

2.To learn to utilize rapport to enrich all your communications and relationships.

3.0 Intended Course Outcomes


Explaining and summarizing singly linked list and circular singly list

4.0 Literature Review

Source:
https://www.jstor.org/stable/10.3138/9781442671492

Review: The world of programming is always changing. And changing FAST at that. We are constantly finding
better ways to do what it is that we do. That is a great thing. Iteration is a very powerful concept.However, there are
a few ideas and constructs in the computer science world that remain constant. Data structures and their
applications are some of those things.You would think then, that of all things, this would be something that every
programmer or software engineer would understand then right? Well, you would be wrong.I can tell you that out of
college, I sure as heck didn't understand when and why to use one data structure over the other, and what I've found
out is, neither do many of the programmers now a days that learn programming by doing (code bootcamps, online
courses that get your hands dirty, building software out of their basement).To be honest, I remember thinking that
they really weren't that important. I thought that they were only needed in special cases and maybe for code that
was writing for public frameworks or libraries.Boy, was I wrong.Understanding how to efficiently use data
structures can easily separate a good developer from a bad one. However, really getting a firm grasp on them can
be difficult for some people that have a harder time grasping such abstract concepts. Just try to read the
defacto book on the subject cover to cover ("Introduction To Algorithms" - side note: I know it says "Algorithms"
but it really covers how data structures are built to lend themselves to certain algorithms).In that book, and many

2
others like it, you will find many mathematical proofs and ideas that seem very theoretical and the abstract nature
of it all really makes it difficult to understand the practical use cases when actually developing software.So what is
a programmer to do if he didn't graduate with a degree in mathematics?When many developers first realize how
important data structures are (after trying to write a system that processes millions of records in seconds) they are
often presented with books or articles that were written for people with computer science degrees from Stanford.

5.0 Proposed Methodology

1) Knowing the basics of the topic.


2)
2) Decide aim of the project and collect the data.

3) Prepare project proposal.

4) Search Literature reviews.

5) Analysis of data.

6) Discussion over preparing and correction in booklet and report.

7) Converting the content of project in report writing.

8) Checking and correction in report writing.

9) Rechecking and finalizing report writing.

10) Final submission and oral presentation of micro project.

6.0 Resources Required

2
Sr.
No Name of Resource/ Material Specifications Quantity Remark
.
Online
1 https://www.jstor.org/stable/ online
reference

Online
2 https://en.m.wikipedia.org/wiki/ online
reference

https://www.lifehack.org/articles Online
3 online
/ reference

7.0 Action Plan

Planned
Sr. Planned Name of Responsible
Details of activity Finish
No. start date Team Members
date

1 Project Proposal All Members

2 Data Collection & Analysis All Members

3 Preparation of Prototype/ Model All Members

4 Preparation of Report All Members

5 Presentation & Submission All Members

PART B - Micro- Project Proposal

2
Title of Micro-Project: Perform operatioins on singly linked list and circular singly list .
1.0 Rationale:

Technology is a wonderful and effective aspect of the 21st century. Our world is changing, and it is
changing in the direction of technology which means people now more than ever are expected to know
how to use technology as well as understand it. This includes children, and actually children are one of
the top consumers of technology products from smartphones, to iPad, and computers children are
constant using technology. Children spend a large amount of everyday using technology for various
reasons ranging from school, to just fun and socializing. According to a new study by the Kaiser Family
Foundation, “The average kid sponges in 2.5 hours of music each day, almost five hours of TV and
movies, three hours of Internet and video games, and just 38 minutes of old-fashioned reading,
according to a new.

2.0 Course Outcomes Addressed

Explaining the importance of English newspaper, online websites and Magazines .

3.0 Literature Review

Source:

https://sites.google.com/site/mashaknonverbalcommunication/literature-review

Review:I want this article to bridge the gap and explain data structures in a more practical way. What I want
people to take away from this post is an understanding of why we have different data structures, what they are, and
when to use a particular one.This is going to be a simple introduction, so I will cover the data structures that you
will use 95% of the time and leave the other 5% for you to discover on your own.Let's get to it then!First, we need
to define what exactly is a data structure. Well, a bunch of smart people have thrown around a lot of complex
sounding definitions, but the simplest and really the most accurate way to describe a data structure is to say
that a data structure is a particular way of organizing data in a computer so that it can be used efficiently. That is all
it is. It is just a way to organize data, much like they way humans organize their bookshelves. You want to organize
them in a way that makes them easy to get to what you want.For example, continuing with the bookshelf analogy,
if I wanted to be able to quickly pick out all of the books that I own (let's say hundreds) that start with the letter 'T'
or 'B' or any other letter, then I would want to organize these books in a way that makes that tasks quick and easy to
perform. In this example, it would mean organizing the books in alphabetical order. Simple enough.However, if the
way I was using the bookshelf was different (say I wanted to find all the books that pertained to the subject of
physics) then quickly we can see that this organization of books will be problematic and cause me to be very
inefficient in finding the books that I want.The solution here would be to organize the books differently based on
how we are going to retrieve them in the most common scenario. In the second scenario, we might have decided to
organize the shelves according to the topic. The same goes for data structures and how you are going to typically
interact with them.So let's start talking about the different ways we could organize our data...AKA the types of
common data structures. To kick off this fun topic, we will start with one of my favorite data structures known as..

4.0 Actual Methodology Followed:

2
Member 1): Name: All Members.
Work: Finalize the group & project

Member 2): Name: Bhosale Amar Umesh .

Work: Search information regarding project subject.

Member 3): Name: Mistri Harshal Gajanan

Work: Collect information and discuss with group members about proposal.

Prepare proposal and submit to the guide.

Member 4): Name: Lohar Pradnya Dipak, Shinde Sushant Dipak

Work: Analyze and finalize the information of the project report.

Member 5): Name: Shinde Sushant Dipak, Kharat Komal Pandurang.

Work: Write project report

Member 6): Name: Kengar Suvrana Balu, Bhosale Amar Umesh .

Work: Prepare rough sketch and final chart

5.0 Actual Resources Used

Sr.
No Name of Resource/ Material Specifications Quantity Remark
.
Online
1 https://www.jstor.org/stable/ online
reference

Online
2 https://en.m.wikipedia.org/wiki/ online
reference

https://www.lifehack.org/articles Online
3 online
/ reference

6.0 Outputs of the Micro-Project:

Singly Linked List:-

2
Singly linked list is the most common linked list among the others. The singly linked list can be traversed only in
one direction. It is a collection of ordered sets of elements. In singly linked list, Each node has a data and a pointer
to the next node.

Syntax:-
struct node{
int data;
struct node *next;
}

Below, we have created a singly linked list of three members.

Performing operations on Singly Linked List:-


Below is a list of operations which you can perform upon a Singly Linked List.

1. Creating Nodes in Linked List


struct node

int data;

struct node *next;

};

struct node *HEAD, *point;

point = (struct node *)malloc(sizeof(struct node *));

2. Insertion in Linked list


In a Singly linked list, you can perform insertion at different locations.

2
Operation What it does

Doing insertion at the beginning of the list You can insert any element at the front of the linked list.

Inserting at the end of the linked list You can perform insertion at the last of the linked list.

Inserting after the specified node You can also insert a new node after a specified node.

7.0 Source Code:

#include <stdio.h>

#include<cionio.h>

struct node {

int info;

struct node* link;

};

struct node* start = NULL;

void traverse()

struct node* temp;

if (start == NULL)

printf("\nList is empty\n");

else {

temp = start;

while (temp != NULL) {

printf("Data = %d\n",

2
temp->info);

temp = temp->link;

void insertAtFront()

int data;

struct node* temp;

temp = malloc(sizeof(struct node));

printf("\nEnter number to"

" be inserted : ");

scanf("%d", &data);

temp->info = data;

temp->link = start;

start = temp;

void insertAtEnd()

int data;

struct node *temp, *head;

temp = malloc(sizeof(struct node));

2
printf("\nEnter number to"

" be inserted : ");

scanf("%d", &data);

temp->link = 0;

temp->info = data;

head = start;

while (head->link != NULL) {

head = head->link;

head->link = temp;

void insertAtPosition()

struct node *temp, *newnode;

int pos, data, i = 1;

newnode = malloc(sizeof(struct node));

printf("\nEnter position and data :");

scanf("%d %d", &pos, &data);

temp = start;

newnode->info = data;

newnode->link = 0;

while (i < pos - 1) {

2
temp = temp->link;

i++;

newnode->link = temp->link;

temp->link = newnode;

int main(){

int choice;

while (1) {

printf("\n\t 1 To see list\n");

printf("\t 2 For insertion at"

" starting\n");

printf("\t 3 For insertion at"

" end\n");

printf("\t 4 For insertion at "

"any position\n");

printf("\t 5 For deletion of "

"first element\n");

printf("\t12 To exit\n");

printf("\nEnter Choice :\n");

2
scanf("%d", &choice);

switch (choice) {

case 1:

insertAtFront();

break;

case 2:

insertAtEnd();

break;

case 3:

insertAtPosition();

break;

case 4:

exit(1);

break;

default:

printf("Incorrect Choice\n");

getch();
}

8.0 Area of Future Improvement

2
Applications of Linked List in C:-

 You can use linked lists on graphs and hash tables.


 In stack and queue, you can implement linked lists.
 With the help of linked lists, you can do dynamic memory allocation.
 With a linked list, you can perform arithmetic operations on long integers.

Advantages of Linked List in C:-

 It is a dynamic data structure.


 You can decrease and increase the size of the linked list at run time.
 In the linked list, you can easily insert and delete a node.
 It’s access time is very fast.
 In the linked list, memory is well utilized.

Disadvantages of Linked List in C:-

 It requires more memory than an array.


 It is difficult to traverse the nodes in a linked list.
 Reverse traversing is very difficult to implement in a linked list.

2
Index
Sr. No. Content Page No.

1.0 Rationale

2.0 Course Outcomes Addressed

3.0 Literature Review

4.0 Actual Methodology Followed

5.0 Actual Resources Used

6.0 Outputs of the Micro Project

7.0 Skill Developed / learning out of this Micro Project

8.0 Applications of this Micro Project

9.0 Area of Future Improvement

2
ACKNOWLEDGEMENT

I express my sincere gratitude to Mr.M.J.Khandagale, Department of Computer Technology,


for his/her stimulating guidance, continuous encouragement and supervision throughout the course of
present work.

I would like to place on record my deep sense of gratitude to Prof.A.A.Vankudre HOD-


Department of Computer Technology, for his generous guidance, help and useful suggestions.

I am extremely thankful to Principal Dr.D.K.Mahadik for this motivation and providing me


infrastructural facilities to work in, without which this work would not have been possible.

I would like to express my gratitude to all my colleagues for their support, co-operation and
fruitful discussions on diverse seminar topics and technical help.

Name of Student Sign

1.

2.

3.

4.

5.

You might also like