0% found this document useful (0 votes)
86 views3 pages

Data Structures and Algorithms Lab 6: Objective

This lab introduces students to singly linked lists. Students will develop utility functions for linked lists including inserting and deleting nodes. The first task asks students to represent a list of names in an array and linked list format. It also asks students to trace changes made to a sample linked list. The second task asks students to implement a linked list class with functions to insert and delete nodes, check if the list is empty, and traverse the list.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
86 views3 pages

Data Structures and Algorithms Lab 6: Objective

This lab introduces students to singly linked lists. Students will develop utility functions for linked lists including inserting and deleting nodes. The first task asks students to represent a list of names in an array and linked list format. It also asks students to trace changes made to a sample linked list. The second task asks students to implement a linked list class with functions to insert and delete nodes, check if the list is empty, and traverse the list.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Lab 5

Data Structures and Algorithms

Lab 6
Objective

This lab session is aimed at introducing students to singly linked list. In addition, the students will
develop a number of utility functions for singly linked lists.

Task 1 :

Give answers to the following.

1. The following list of names is assigned (in order) to a linear array INFO. Assign value to LINK and
START, so that INFO, LINK and START form an alphabetical list.
INFO LINK
START
1 Mary

2 Helen

3 Barbara

4 Paula

5 Diana

6 Audrey

7 Karen

8 Nancy

9 Ruth

10 Eileen
2.
Given the following linked list, state what does each of the following statements refer to.

first 1 2 3

ptr

Data Structures and Algorithms Page 1


Lab 5

first->data;

first->next->next->data;

ptr->next->data;

ptr->next->next;

first->next->next->next;

3.
Redraw the following list after the given instructions are executed:

first 1 2 3

ptr

first -> next = first -> next -> next;


ptr -> next -> next = ptr;
ptr->next = NULL;

Task 2 :

Data Structures and Algorithms Page 2


Lab 5

Implement the following exercises.

Exercise 1

Implement the class Linked List to create a list of integers. You need to provide the
implementation of the member functions as described in the following.
class List
{
private:
struct node
{int data;
node *next;
} *head;

public:
List();
~List();

bool emptyList();// Checks if the list is empty or not

void insertafter(int oldV, int newV);


// Inserts a new node with value ‘newV’ after the node
containing value ‘oldV’. If a node with value ‘oldV’ does
not exist, inserts the new node at the end.

void deleteNode(int value);


// Deletes the node containing the specified value

void insert_begin(int value);


// Inserts a new node at the start of the list

void insert_end(int value);


// Inserts a new node at the end of the list

void traverse();
// Displays the values stored in the list
};

Data Structures and Algorithms Page 3

You might also like