Posts

Showing posts from April, 2021

Stack

 #include <iostream> #include <cstddef> #include <climits> using namespace std; class stack{     private:     int*data;     int nextindex;     int capacity;     public:     stack(int TotalSize){         data=new int[TotalSize];         nextindex=0;         capacity=TotalSize;     }     int size(){         return nextindex;     }     bool isempty(){         return nextindex==0;     }     void push(int element){         if(nextindex==capacity){             cout<<"Stack is Full";             return;         }         data[nextindex]=element;         nextindex++;     }     int pop(){ ...

Take Input Linked Lists

 #include <iostream> #include <cstddef> using namespace std; class node{     public:     int data;     node*next;          node(int data){         this -> data=data;         next=NULL;     } }; node*takeinput(){     int data;     cin>>data;     node*head=NULL;     while(data!=-1){         node*newnode=new node(data);         if(head==NULL){             head=newnode;         }         else {             node*temp=head;             while(temp->next!=NULL){                 temp=temp->next;             }             temp->next=newnode;    ...

use temp in in linked list

#include <iostream> #include <cstddef> using namespace std; class node{     public:     int data;     node*next;          node(int data){         this -> data=data;         next=NULL;     } }; void print(node *head){     node*temp=head;//use on temp var     while(temp!=NULL){         cout<<temp->data<<" ";         temp=temp->next;     }     temp=head;//use on temp var     while(temp!=NULL){         cout<<temp->data<<" ";         temp=temp->next;     } } int main() {     //linked list of 5 elements     node n1(1);     node*head=&n1;     node n2(2);     n1.next=&n2;     node n3(3);          node n4(4); ...

linkedlist

 #include <iostream> #include <cstddef> using namespace std; class node{     public:     int data;     node*next;          node(int data){         this -> data=data;         next=NULL;     } }; void print(node *head){     while(head!=NULL){         cout<<head->data<<" ";         head=head->next;     } } int main() {     //linked list of 5 elements     node n1(1);     node*head=&n1;     node n2(2);     n1.next=&n2;     node n3(3);          node n4(4);     node n5(5);     n2.next=&n3;     n3.next=&n4;     n4.next=&n5;     print(head);               //n5.next=&n2;        ...

quicksort descending

 #include <iostream> using namespace std; int partition(int*arr,int lb,int ub){     int pivot=arr[lb];     int start=lb;     int end=ub;     while(start<end){         while(arr[start]>=pivot){             start++;         }         while(arr[end]<pivot){             end--;         }                  if(start<end){             int temp;             temp=arr[end];             arr[end]=arr[start];             arr[start]=temp;         }     }          int temp1;     temp1=arr[end];     arr[end]=arr[lb];     arr[lb]=temp1;      ...

quicksort

 #include <iostream> using namespace std; int partition(int*arr,int lb,int ub){     int pivot=arr[lb];     int start=lb;     int end=ub;     while(start<end){         while(arr[start]<=pivot){             start++;         }         while(arr[end]>pivot){             end--;         }                  if(start<end){             int temp;             temp=arr[end];             arr[end]=arr[start];             arr[start]=temp;         }     }          int temp1;     temp1=arr[end];     arr[end]=arr[lb];     arr[lb]=temp1;      ...

merge two sorted array

 #include <iostream> using namespace std; int main() {          int arr1[100]={1,3,5,7,9,12,76,87};     int arr2[100]={2,4,6,8,9,89};     int i=0,j=0,k=0;     int arr[100];          while(i<8 && j<6){         if(arr1[i]<arr2[j]){             arr[k]=arr1[i];             i++;             k++;         }         else{            arr[k]=arr2[j];            j++;            k++;         }              }          while(i<8){         arr[k]=arr1[i];         i++;         k++;     }      ...

Insertion Sort

 #include <iostream> using namespace std; int main() {     int arr[10]={12,9,7,6,5,4,3,2,1,0};     int temp;     for(int i=1;i<10;i++){         temp=arr[i];         for(int j=i-1;j>=0;j--){                 if(arr[j]>temp){                                           arr[j+1]=arr[j];                 }                 arr[j]=temp;             }         }                         for(int i=0;i<10;i++){         cout<<arr[i]<<" ";     }          return 0; }

Bubble Sort

 #include <iostream> using namespace std; int main() {     int arr[10]={9,12,7,6,5,4,3,2,1,0};          int n=10;     while(n>0){     for(int i=0;i<n;i++){             if(arr[i+1]<arr[i]){                 int temp;                 temp=arr[i];                 arr[i]=arr[i+1];                 arr[i+1]=temp;             }                                  }        n--;     }          for(int i=0;i<10;i++){         cout<<arr[i]<<" ";     }          return 0; }

Selection_sort

 #include <iostream> using namespace std; int main() {     int arr[10]={9,8,7,6,5,4,3,2,1,0};          int start_arr=0;     while(start_arr<10){         int i=start_arr;         int min=100,min_index;         for(;i<10;i++){             if(arr[i]<min){                 min=arr[i];//min value for start_arr to end                 min_index=i;             }         }                  int temp;         temp=arr[start_arr];         arr[start_arr]=min;         arr[min_index]=temp;         start_arr++;     }     for (int i=0;i<10;i++){         cout...

Binary Search

 int binarySearch(int *arr, int n, int x) {     //Write your code here     int start=0;     int end =n;               //int x=25;     //int arr[10]={10,12,13,15,20,25};          while(start<=end){         int mid=(start+end)/2;                  if(arr[mid]==x){             return mid;                      }         else if(arr[mid]>x){             end = mid-1;         }         else          start=mid+1;     }     return -1; }