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
44 changes: 44 additions & 0 deletions linear_search_using_recursion.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
//
// Created by priyanshu on 30/07/19.
//
/*
#include <stdio.h>
#include <stdlib.h>

int LinearSearch(int arr[],int n,int element)
{
if(n<1)
return 0;
else
{
LinearSearch(arr,n-1,element);
if(arr[n-1] == element)
{
printf("%d is found at %d",element,n);
exit(0);
}
}

return 0;
}

int main(){
int arr[5], pos, n,i, element;
printf("Enter number of elements:\n");
scanf("%d", &n);

printf("Enter elements of array:\n");
for (i=0; i<n; i++)
scanf("%d", &arr[i]);

printf("Enter element to be searched:\n");
scanf("%d", &element);

pos = LinearSearch(arr, n, element);

if (pos == 0)
printf("404!!! Not found");

return 0;
}
*/
40 changes: 40 additions & 0 deletions sort_insertion.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
//
// Created by priyanshu on 29/07/19.
//
/*
#include <stdio.h>
#include <stdlib.h>

int main()
{
int i, j, num, temp, arr[20];
printf("Enter size of array: ");
scanf("%d", &num);

printf("Enter %d elements in array: \n", num);
for(i=0; i<num; i++)
{
scanf("%d", &arr[i]);
}

for(i=1; i<num; i++)
{
temp=arr[i];
j=i-1;
while((temp<arr[j])&&(j>=0))
{
arr[j+1]=arr[j];
j=j-1;
}
arr[j+1]=temp;
}

printf("After Sorting : \n");
for(i=0; i<num; i++)
{
printf("%d ", arr[i]);
}

return 0;
}
*/
39 changes: 39 additions & 0 deletions sort_insertion_using_recursion.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
//
// Created by priyanshu on 12/08/19.
//

#include <stdio.h>

int InsertionSort(int arr[], int n){
int temp, i, j;
if (n==1)
return 1;
else {
for (i=1; i<n; i++){
temp = arr[i];
j = i-1;
while ((j >= 0) && (temp < arr[j])){
arr[j+1] = arr[j];
j--;
}
arr[j+1] = temp;
}
}
return 0;
}

int main(){
int arr[10], i, n;
printf("Enter number of elements in array:\n");
scanf("%d", &n);
printf("Enter elements:\n");
for (i=0; i<n; i++)
scanf("%d", &arr[i]);

InsertionSort(arr, n);

printf("Sorted array is:\t");
for (i=0; i<n; i++)
printf("%d\t", arr[i]);
return 0;
}
73 changes: 73 additions & 0 deletions sort_merge_using_recursion.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
//
// Created by priyanshu on 05/08/19.
//
/*
#include <stdio.h>
#include <stdlib.h>

int MergeSort(int arr[], int i, int j);
int merge(int arr[],int i1,int j1,int i2,int j2);

int main()
{
int arr[30],n,i;
printf("Enter no of elements:\n");
scanf("%d",&n);
printf("Enter array elements:\n");

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

MergeSort(arr, 0, n - 1);

printf("\nSorted array is :");
for(i=0;i<n;i++)
printf("%d ",arr[i]);

return 0;
}

int MergeSort(int arr[], int i, int j)
{
int mid;

if(i<j)
{
mid=(i+j)/2;
MergeSort(arr, i, mid); // Left Recursion
MergeSort(arr, mid + 1, j); // Right Recursion
merge(arr,i,mid,mid+1,j); // Merging the two parts
}

return 0;
}

int merge(int arr[],int i1,int j1,int i2,int j2)
// i1 and j1 are the starting and ending indices of one part and similarly i2 and j2 are of second part.
{
int temp[50];
int i,j,k;
i=i1;
j=i2;
k=0;

while(i<=j1 && j<=j2)
{
if(arr[i]<arr[j])
temp[k++]=arr[i++];
else
temp[k++]=arr[j++];
}

while(i<=j1)
temp[k++]=arr[i++];

while(j<=j2)
temp[k++]=arr[j++];

for(i=i1,j=0;i<=j2;i++,j++)
arr[i]=temp[j];

return 0;
}
*/