Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- struct node
- {
- int data;
- struct node* next;
- };
- typedef struct node Node;
- Node *createlist(int *arr,int len)
- {
- int i;
- Node *first,*current,*previous;
- for(i=0;i<len;i++)
- {
- current=new Node;
- current->data=arr[i];
- if(i==0)
- {
- first=current;
- }
- else
- {
- previous->next=current;
- }
- current->next=NULL;
- previous=current;
- }
- return first;
- }
- void printlist(Node* first)
- {
- Node *node=first;
- if(first==NULL)
- {
- cout<<"List is empty"<<endl;
- }
- else
- {
- while(node!=NULL)
- {
- cout<<node->data<<" ";
- node=node->next;
- }
- cout<<endl;
- }
- }
- Node *insert(Node* first,int data)
- {
- Node *current,*previous;
- Node *newnode;
- newnode=new Node;
- newnode->data=data;
- newnode->next=NULL;
- current=first->next;
- previous=first;
- while(newnode->next==NULL)
- {
- if(newnode->data > previous->data && newnode->data < current->data)
- {
- newnode->next=current;
- previous->next=newnode;
- cout<<"if"<<endl;
- previous=current;
- current=current->next;
- }
- else
- {
- previous=current;
- current=current->next;
- cout<<"else"<<endl;
- }
- }
- return first;
- }
- void freelist(Node *first)
- {
- Node *ptr,*tmp;
- ptr=first;
- while(ptr!=NULL)
- {
- tmp=ptr;
- ptr=ptr->next;
- delete tmp;
- }
- }
- int main()
- {
- Node *first;
- int arr[]={14,27,32,46};
- first=createlist(arr,4);
- printlist(first);
- int data=36;
- first=insert(first,data);
- printlist(first);
- freelist(first);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement