Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- struct Node
- {
- int data;
- Node *point;
- };
- Node *head;
- Node* getnewnode(int value)
- {
- Node *newnode = new Node();
- newnode -> data = value;
- newnode -> point = NULL;
- return newnode;
- }
- void insertatanyindex(int n, int value)
- {
- Node *newnode= getnewnode(value);
- if(n==1)
- {
- newnode->point = head;
- head = newnode;
- return;
- }
- Node *temp = head;
- for(int i=1; i<n-1; i++)
- {
- temp = temp->point;
- }
- newnode->point = temp->point;
- temp->point = newnode;
- }
- void print()
- {
- Node *temp = head;
- while(temp->point != NULL)
- {
- cout << temp->data << " ";
- temp = temp->point;
- }
- cout << temp->data << endl;
- }
- //void ReversePrint(Node *Head)
- //{
- // if(Head==NULL)
- // {
- // return;
- // }
- // ReversePrint(Head->point);
- // cout << Head->data << " ";
- //}
- void ReversePrint(Node *Head)
- {
- if(Head->point !=NULL)
- ReversePrint(Head->point);
- cout << Head->data << " ";
- }
- int main()
- {
- int data,limit,i;
- cout << "Input size of link list: ";
- cin >> limit;
- for(i=1; i<=limit; i++)
- {
- cout << "Input data: ";
- cin >> data;
- insertatanyindex(i,data);
- }
- cout << "\nForward Print...."<<endl;
- print();
- cout << "\nReverse Print...."<<endl;
- ReversePrint(head);
- cout << "\n"<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement