Posts

Showing posts with the label data structure

Largest Sum Contiguous Subarray. Kadane's Algorithm

// C++ program to print largest contiguous array sum #include<iostream> #include<climits> using namespace std; int maxSubArraySum(int a[], int size) { int max_so_far = INT_MIN, max_ending_here = 0; for (int i = 0; i < size; i++) { max_ending_here = max_ending_here + a[i]; if (max_so_far < max_ending_here) max_so_far = max_ending_here; if (max_ending_here < 0) max_ending_here = 0; } return max_so_far; } /*Driver program to test maxSubArraySum*/ int main() { int a[] = {-2, -3, -4, -6, -7, -9, -90, -30}; int n = sizeof(a)/sizeof(a[0]); int max_sum = maxSubArraySum(a, n); cout << "Maximum contiguous sum is " << max_sum; return 0; }

merge two linklist

#include<stdio.h> struct node {   int data;   struct node *next; }; struct node *start1=NULL; struct node *start2=NULL; struct node *start3=NULL; struct node * create_list(struct node *start) {int n;   struct node *ptr;   printf("\n enter how many element you want to insert");   scanf("%d",&n);   while(n!=0)   {     n--;     printf("\n enter data");     ptr=(struct node*)malloc(sizeof(struct node));     scanf("\n%d",&ptr->data);     if(start==NULL)     {         start=ptr;         ptr->next=NULL;     }     else     {         ptr->next=start;         start=ptr;     }   }   return start; } void display(struct node *temp1) {     struct node *temp;     temp=temp1;     if(temp==NUL...

write a program to find saddle point in matric using c

#include<stdio.h> void main() { int a[3][3],i,j,k,l,temp,min[3],max[3]; printf("insert value into 3*3 matrix"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { scanf("%d",&a[i][j]); } } for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf("\t %d",a[i][j]); } printf("\n"); } for(k=0;k<3;k++) { min[k]=a[k][0]; for(i=k;i<=k;i++) { for(j=0;j<3;j++) { if(min[k]>a[i][j]) { min[k]=a[i][j]; } } } } for(k=0;k<3;k++) { max[k]=a[0][k]; for(i=k;i<=k;i++) { for(j=0;j<3;j++) { if(max[k]<a[j][i]) { max[k]=a[j][k]; } } } } for(i=0;i<3;i++) { for(k=0;k<3;k++) { if(min[i]==max[k]) { printf("\n %d is saddle point",min[i]); temp=min[i]; } } } for(i=0;i<3;i++) { for(k=0;k<3;k++) { if(temp==a[i][...