CC Worksheet3 20BCS2957

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

Experiment 3

Student Name: Srishti Jaitly


UID: 20BCS2957
Branch: CSE
Section/Group: 613A
Semester: 5th
Subject Name: Competitive Coding-I
Subject Code: 20CSP-314

1. Aim/Overview of the practical:

Insert a node at the head of a linked list.

2. Task to be done/ Which logistics used:

Given a pointer to the head of a linked list, insert a new node before the head. The value in the new node should
point to and the value should be replaced with a given value. Return a reference to the new head of the list. The
head pointer given may be null meaning that the initial list is empty.
Function Description
Complete the function insertNodeAtHead in the editor below.
insertNodeAtHead has the following parameter(s):
● SinglyLinkedListNode llist: a reference to the head of a list
● data: the value to insert in the field of the new node
Input Format
The first line contains an integer , the number of elements to be inserted at the head of the list.
The next lines contain an integer each, the elements to be inserted, one per function call.
Constraints
Sample Input
5
383
484
392
975
321

Sample Output
321
975
392
484
383

Explanation
Intially the list in NULL. After inserting 383, the list is 383 -> NULL.
After inserting 484, the list is 484 -> 383 -> NULL.
After inserting 392, the list is 392 -> 484 -> 383 -> NULL.
After inserting 975, the list is 975 -> 392 -> 484 -> 383 -> NULL.
After inserting 321, the list is 321 -> 975 -> 392 -> 484 -> 383 -> NULL..

3. Steps for experiment/practical/Code:

SinglyLinkedListNode* insertNodeAtHead(SinglyLinkedListNode* llist, int data) {


SinglyLinkedListNode* temp = llist;
SinglyLinkedListNode* node = new SinglyLinkedListNode(data);
if(temp == NULL){
temp = node;
}
else{
node->next = temp;
temp = node;
}
return temp;
}
4. Output:
1. Aim/Overview of the practical:

Reverse a linked list

2. Task to be done/ Which logistics used:

Given the pointer to the head node of a linked list, change the next pointers of the nodes so that their order is
reversed. The head pointer given may be null meaning that the initial list is empty.
Example
references the list
Manipulate the pointers of each node in place and return , now referencing the head of the list .
Function Description
Complete the reverse function in the editor below.
reverse has the following parameter:
● SinglyLinkedListNode pointer head: a reference to the head of a list
Returns
● SinglyLinkedListNode pointer: a reference to the head of the reversed list
Input Format
The first line contains an integer , the number of test cases.
Each test case has the following format:
The first line contains an integer , the number of elements in the linked list.
Each of the next lines contains an integer, the values of the elements in the linked list.
Sample Input
1
5
1
2
3
4
5

Sample Output
5 4 3 2 1.

3. Steps for experiment/practical/Code:

SinglyLinkedListNode* reverse(SinglyLinkedListNode* llist) {


SinglyLinkedListNode* temp = NULL;
SinglyLinkedListNode* temp2 = NULL;
if(llist == NULL){
return llist;
}
else {
while(llist != NULL){
temp2 = llist->next;
llist -> next = temp;
temp = llist;
llist = temp2;
}
}
llist = temp;
return llist;
}
4. Output:

You might also like