Reference no: EM132276377
Question: A) From your Singular Linked List,
Create a Doubly Linked List.
Use this to create a Sorted Linked List,
Use this to create a prioritized list by use. Bring to front those links recently queried.
Code c++
main.cpp
//System Libraries
#include <cstdlib> //Random Function cstdlib
#include <iostream> //I/O Stream iostream
#include <ctime> //Time Function setting random seed ctime
using namespace std;
//User Libraries
#include "Node.h"
//Global Constants
//Physics/Math/Conversions/2+ArrayDimenstions
//No Global Variables
//Function Prototypes Here
Node *filNode(int);
void prtNode(Node *);
void destroy(Node *);
//Execution Begins with Main
int main(int argc, char** argv) {
//Random Number seed set once here
srand(static_cast<unsigned int>(time(0)));
//Declare and initialize variables
Node *head=filNode(10);
//Display results here
prtNode(head);
//Clean up code
destroy(head);
//Exit stage right
return 0;
}
Node *filNode(int n){
//Initialize the front
Node *head=new Node;
head->data=n--;
head->ptr=NULL;
Node *tail=head;
//Loop until filled
do{
Node *next=new Node;
next->data=n--;
next->ptr=NULL;
tail->ptr=next;
tail=next;
}while(n>=0);
return head;
}
void prtNode(Node *head){
Node *temp=head;
do{
cout<<temp->data<<endl;
temp=temp->ptr;
}while(temp!=NULL);
}
void destroy(Node *head){
Node *temp=head;
do{
temp=temp->ptr;
delete head;
head=temp;
}while(temp!=NULL);
}
Node.h
#ifndef NODE_H
#define NODE_H
struct Node{
int data;
Node *ptr;
};
#endif /* NODE_H */