0% found this document useful (0 votes)
44 views

Lab 3

1. The document describes creating different linked list data structures: single linked lists, doubly linked lists, and circular doubly linked lists. It provides examples of their node structures and common operations like insertion, deletion, searching, and sorting. 2. Instructions are given to create a class called IntegerSet to represent sets of integers from 0 to 100 using an array. Member functions are described to perform common set operations like union, intersection, insertion, deletion, and printing sets. 3. A driver program is to be written to test the IntegerSet class by instantiating objects and testing that all member functions work properly.

Uploaded by

Gump Forest
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views

Lab 3

1. The document describes creating different linked list data structures: single linked lists, doubly linked lists, and circular doubly linked lists. It provides examples of their node structures and common operations like insertion, deletion, searching, and sorting. 2. Instructions are given to create a class called IntegerSet to represent sets of integers from 0 to 100 using an array. Member functions are described to perform common set operations like union, intersection, insertion, deletion, and printing sets. 3. A driver program is to be written to test the IntegerSet class by instantiating objects and testing that all member functions work properly.

Uploaded by

Gump Forest
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Lab 3

Single Linked List


1. Create a class LinkedList, this class will use the structure
‘node’ for the creation of the linked list. Node is structure
declare globally and class define the private node variables and
public member functions as shown below.
struct node
{
int data;
node *next;
};

class LinkedList
{
private:
node *head;
public:
\\ member functions
};

Use constructor to initialize head to null and implement


following member functions:
Insertion :
// Insert a new node at the front of the list
void push(int new_data)
{
}
// insert new node after given node
void insertAfter(int given_data, int new_data)
{
}
//inserts a new node at the end of the list
void append(int new_data)
{
}
Deletion:
// Delete the last node in linked list
Void deleteLastNode()
// Delete the given node in linked list
Void deleteNode(int given_node)
Searching
Bool searchNode(int given_node)
{
// Search given node in the linked list
}
Sort the linked list
Void sortList()
{
//sort the list in ascending order
}
Write a menu-driven driver code to ask the user to perform one of the
functions and repeat this step till the user exits.
Doubly Linked List
2. Similar to above code, create a class called DoublyLinkedList,
struct node
{
int info;
struct node *next;
struct node *prev;
}*head;

class DoublyLinkedList {
public:
void create_list(int value); // pass the value and
create a node in DoublyLinkedList
void add_begin(int value); // insert node at beginning
void add_after(int value, int position); // insert node
after given position
void delete_element(int value); // delete particular
value node
bool search_element(int value); // search for the node
void display_dlist(); // display the DoublyLinkedList
void count(); // count the number of nodes in the
DoublyLinkedList
void reverse(); // reverse the complete list
void sortList(); // sort the list in ascending order
DoublyLinkedList ()
{
head = NULL;
}
};
Write a menu-driven driver code to ask the user to perform one of
the functions and repeat this step till the user exits.

Circular Doubly Linked List


3. Circular Doubly Linked List has properties of both doubly linked
list and circular linked list in which two consecutive elements
are linked or connected by previous and next pointer and the
last node points to first node by next pointer and also the
first node points to last node by previous pointer.

struct node
{
int info;
struct node *next;
struct node *prev;
};
class CircularDoublyLinkedList
{
public:
void create_list(int value); // create list
void insert_begin(int value); //insert at beginning and
update the list
void insert_last(int value); // insert at last and
update the list
void insert_pos(int value , int position); // insert at
particular position and update the list

void delete_pos(int position); // delete from particular


position and update the list

bool search(int value); // search the element in the


list
void display(); // display the list
void reverse(); // reverse the list
void sort(); // sort the list
CircularDoublyLinkedList() // constructor
{

}
};
Write a menu-driven driver code to ask the user to perform one of
the functions and repeat this step till the user exits.

4. Create a class called IntegerSet. Each object of class


IntegerSet can hold integers in the range 0 through 100. A set
is represented internally as an array of ones and zeros. Array
element a[ i ] is 1 if integer i is in the set. Array element
a[ j ] is 0 if integer j is not in the set. The default
constructor initializes a set to the so-called “empty set,”
i.e., a set whose array representation contains all zeros.
Provide member functions for the common set operations.

For example, provide a unionOfIntegerSets member function that


creates a third set which is the set-theoretic union of two
existing sets (i.e., an element of the third set’s array is
set to 1 if that element is 1 in either or both of the
existing sets, and an element of the third set’s array is set
to 0 if that element is 0 in each of the existing sets).

Provide an intersectionOfIntegerSets member function that


creates a third set which is the set-theoretic intersection of
two existing sets (i.e., an element of the third set’s array
is set to 0 if that element is 0 in either or both of the
existing sets, and an element of the third set’s array is set
to 1 if that element is 1 in each of the existing sets).

Provide an insertElement member function that inserts a new


integer k into a set (by setting a[k] to 1).

Provide a deleteElement member function that deletes integer m


(by setting a[m] to 0).

Provide a setPrint member function that prints a set as a list


of numbers separated by spaces. Print only those elements
that are present in the set (i.e., their position in the array
has a value of 1). Print --- for an empty set.

Provide an isEqualTo member function that determines if two


sets are equal.
Write a driver program to test your IntegerSet class.
Instantiate several IntegerSet objects. Test that all your
member functions work properly.

You might also like