Linked list

Bebo23

  

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 */

    • 7 years ago
    • 1
    Answer(0)