Data Structure Lab
Lab Assignment - Data Structure and Algorithms – Linked List
|
Problem:
The following function, buildListForward, builds a linked list in a forward manner and returns the pointer of the built list:
Q1: The bulidListForward function to create a linked List structure with the keyboard input( cin >> num). Change this function to receive the values stored in the array from the main function( use int type pointer variable). eg. nodeType* buildListForward(int *arrayPrt, int Size)
Q2: Implement main function to call bulidListForward with an array type actual parameter that contains node information 2, 15, 8, 24, 34.
Q3: Declare a struct named nodeType which contains two members info and *link;
Q4: Inside of the function buildListForward, change while loop to for loop to be able to get node information from the array and put this node information to newNode.
Q5: At the main function, print out node information by Traversing the Linked List that we have created at the main function and print out node information as follows:
Input int Size_Array = 5; int ArrayInfo[5] = { 2, 5, 8, 24, 34 };
Output
& address of curr pointer 0x125cc20 & address of info: 0x125cc20 INFO: 2 LINK 0x125cc40 & address of info: 0x125cc40 INFO: 5 LINK 0x125cc60 & address of info: 0x125cc60 INFO: 8 LINK 0x125cc80 & address of info: 0x125cc80 INFO: 24 LINK 0x125cca0 & address of info: 0x125cca0 INFO: 34 LINK 0
|
|
// Name : // Section Name: // Student ID:
#include<iostream> using namespace std;
struct nodeType{ int info; struct nodeType* link; };
//nodeType* buildListForward(int*, int);
nodeType* buildListForward() { nodeType *first, *newNode, *last; int num; cout << "Enter a first of interges." << endl;
cin >> num;
first = NULL;
while (num != -999) { newNode = new nodeType; newNode->info = num; newNode->link = NULL;
if (first == NULL) { first = newNode; last = newNode; } else { last->link = newNode; last = newNode; }
cout << "list of integers ending with -999." << endl;
cin >> num;
} //end while
return first; } //end buildListForward
int main ( ) {
nodeType *head, *curr; head = buildListForward();
curr = head;
while( curr!=NULL) { cout << "Current Node " << curr->info; curr = curr->link; }
return 0; }
Hand in: 1) Source code and output file: Lab5.cpp, Lab5.doc (Capture your screen shot) 2) Upload Compressed file named Lab5.zip to the black board.
|
Page 1 of 3