## Posts

Showing posts from 2015

### Insert a node into a sorted doubly linked list Solution

Problem Statement You’re given the pointer to the head node of a sorted doubly linked list and an integer to insert into the list. Create a node and insert it into the appropriate position in the list. The head node might be NULL to indicate that the list is empty. Source Code: Node* SortedInsert(Node *head,int data) { // Complete this function // Do not write the main method. Node *temp = new Node; temp->data = data; temp->next = NULL; temp->prev = NULL; if(head == NULL){ head = temp; }else{ Node *temp1 = temp; temp->next = head; head = temp; while(temp!= NULL){ temp1 = temp; temp = temp->next; if(temp!=NULL){ if(temp1->data>temp->data){ int tdata; tdata = temp1->data; temp1->data = temp->data; temp->data = tdata; } } } } return head; }

### C++ Diamond Pattern

C++ program to print the diamond pattern using '#' symbols. In this program two for loops are used to print the pattern. The first loop prints the upper part to the diamond ( triangle part ). The second for loop prints the lower part of the diamond (an inverted triangle ) . By combining both of the triangles an diamond pattern structure is formed. PROGRAM CODE: #include<iostream> using namespace std; int main() { int i,j,k=1,s=6,l; for(i=0;i<5;i++,k-=2,s-=1) { for(l=s-1;l>=0;l--) cout<<' '; for(j=k;j<0;j++) cout<<"#"; cout<<endl; } k = 9; s = 0; for(i=0;i<5;i++,k-=2,s+=1) { for(l=s;l>=0;l--) cout<<' '; for(j=k;j>0;j--) cout<<"#"; cout<<endl; } return 0; } OUTPUT:            #         # # #      # # # # #    # # # # # # # # #

### Print the elements of a linked list solution

Problem Statement You’re given the pointer to the head node of a linked list and you need to print all its elements in order, one element per line. The head pointer may be null, i.e., it may be an empty list. In that case, don’t print anything! Source code: /* Print elements of a linked list on console head pointer input could be NULL as well for empty list Node is defined as struct Node { int data; struct Node *next; } */ void Print(Node *head) { // This is a "method-only" submission. // You only need to complete this method. while(head!=NULL){ cout<<head->data<<endl; head = head->next; } }