Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions BinarySearch.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#include<stdio.h>

int search(int lo,int hi,int arr[],int x){
if(lo > hi)
return 0;

int mid = (lo+hi)/2;
if(arr[mid] == x)
return 1;
if(arr[mid] > x)
return search(lo,mid-1,arr,x);
else
return search(mid+1,hi,arr,x);
}
int main(){
int n,arr[100010],x,i;

scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&arr[i]);
scanf("%d",&x);

if(search(0,n-1,arr,x))
printf("Number present.");
else
printf("Number not present");

return 0;
}
Binary file added BinarySearch.exe
Binary file not shown.
40 changes: 40 additions & 0 deletions SelectionSort.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#include <stdio.h>

void swap(int *xp, int *yp){
int temp = *xp;
*xp = *yp;
*yp = temp;
}

void selectionSort(int arr[], int n){
int i, j, min_idx;

for (i = 0; i < n-1; i++){
min_idx = i;
for (j = i+1; j < n; j++)
if (arr[j] < arr[min_idx])
min_idx = j;

swap(&arr[min_idx], &arr[i]);
}
}

void printArray(int arr[], int size){
int i;
for (i=0; i < size; i++)
printf("%d ", arr[i]);
printf("\n");
}

int main(){
int n,arr[100010],i;

scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&arr[i]);

selectionSort(arr, n);
printf("Sorted array: \n");
printArray(arr, n);
return 0;
}
Binary file added SelectionSort.exe
Binary file not shown.
58 changes: 58 additions & 0 deletions merge.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
#include<stdio.h>

int a[1000000];

void merge(int low, int mid, int high){
int n1=mid-low+1;
int n2=high-mid;
int i,j,k;
int left[1000000],right[1000000];

for(i=0;i<n1;i++)
left[i]=a[low+i];
for(i=0;i<n2;i++)
right[i]=a[mid+1+i];
i=0,j=0,k=low;
while(i<n1 && j<n2){
if(left[i]<=right[j]){
a[k++]=left[i++];
}
else{
a[k++]=right[j++];
}
}
while(i<n1)
a[k++]=left[i++];
while(j<n2)
a[k++]=right[j++];
}

void sort(int low, int high){
int mid;
//mid = (low+high)/2;
if(low<high){
mid = (low+high)/2;
sort(low,mid);
sort(mid+1,high);
merge(low,mid,high);
}
}

int main(){
int n,len;
int i=0;
while(scanf("%d",&n)!=EOF){
a[i++]=n;
}
len=i;
//printf("%d\n",i);
//for(i=0;i<len;i++)
// printf("%d ", a[i]);
//printf("\n");
sort(0,len-1);
for(i=0;i<len;i++){
printf("%d ",a[i]);
}
printf("\n");
return 0;
}
25 changes: 25 additions & 0 deletions prime checker.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#include<stdio.h>
#include<math.h>

int main(){
int num;

scanf("%d",&num);

int isPrime = 1;

int i;
for(i=2;i<=sqrt(num);i++){
if(num%i == 0){
isPrime = 0;
break;
}
}
if(isPrime && num > 1){
printf("The number is a prime.");
} else{
printf("The number is not a prime.");
}

return 0;
}
Binary file added prime checker.exe
Binary file not shown.