Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream>
- #include <string>
- using namespace std;
- //Structure for linked list
- struct node
- {
- int data;
- node *next;
- };
- void display_list(node*, int);
- int main()
- {
- //Create linked list
- node * head = new node;
- node * ptr = head;
- node * temp = nullptr;
- //DATA
- int numberOfNodes = 0;
- int userNumber = 0;
- int index = 0;
- //Prompt user for proper input
- while (numberOfNodes < 1)
- {
- cout << "Enter the number of initial nodes (must be at least 1): ";
- cin >> numberOfNodes;
- }
- //Fill list
- for (int i = 0; i < numberOfNodes; i++)
- {
- //Prompt for data
- cout << "Enter a number: ";
- cin >> userNumber;
- ptr->data = userNumber;
- //Connect tail to nullptr
- if (i == numberOfNodes - 1)
- {
- ptr->next = nullptr;
- }
- //Creat a new node and pointer
- else
- {
- ptr->next = new node;
- ptr = ptr->next;
- }
- }
- //Set pointer to beginning of list
- ptr = head;
- //Output data in list
- display_list(ptr, numberOfNodes);
- //Insert into linked list
- do
- {
- cout << "Enter the index to insert a node: ";
- cin >> index;
- if (index >= numberOfNodes)
- {
- cout << "Invalid index. Please enter an index below the number of nodes." << endl;
- }
- } while (index >= numberOfNodes);
- cout << "Enter a number for a new node to insert to the linked list: ";
- cin >> userNumber;
- //Set pointer to beginning of list
- ptr = head;
- //Have pointer point to index
- for (int i = 0; i < index - 1; i++)
- {
- ptr = ptr->next;
- if (ptr->next == nullptr)
- {
- temp = nullptr;
- }
- else
- {
- temp = ptr->next;
- }
- }
- //Insert node
- ptr->next = new node;
- ptr->data = userNumber;
- ptr = temp;
- ptr = head;
- display_list(ptr, numberOfNodes);
- return 0;
- }
- void display_list(node* ptr, int numberOfNodes)
- {
- //Output data in list
- for (int i = 0; i < numberOfNodes; i++)
- {
- cout << (ptr->data) << endl;
- ptr = ptr->next;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement