Updated README.md

This commit is contained in:
AnupKumarPanwar 2017-10-20 22:03:41 +05:30
parent a8e3dd3f60
commit 81657fc249
15 changed files with 149 additions and 91 deletions

View File

@ -1,2 +1,60 @@
# C # C
All Algorithms implemented in C All Algorithms implemented in C
# Computer Oriented Statistical Methods
- Gauss_Elimination
- Lagrange_Theorem
- Mean
- Median
- Seidal
- Simpson's_1-3rd_rule.c
- Variance
# Conversions
- binary_to_decimal
- decimal _to_binary
- decimal_to_hexa
- decimal_to_octal
# Data Structures
- stack
- queue
## linked_list
- singly_link_list_deletion
## binary_trees
- create_node
- recursive_traversals
## trie
- trie
# Searching
- Binary_Search
- Other_Binary_Search
# Sorting
- binary_insertion_sort
- BubbleSort
- BogoSort
- InsertionSort
- mergesort
- OtherBubbleSort
- QuickSort
- SelectionSort
- shaker_sort
# Misc
- Binning
- Factorial
- Fibonacci
- isArmstrong
- LongestSubSequence
- palindrome
- QUARTILE
- rselect
- strongNumber
- TowerOfHanoi

View File

@ -1,91 +1,91 @@
#include <stdio.h> #include <stdio.h>
void swap (int *a,int *b) void swap (int *a,int *b)
{ {
int t; int t;
t= *a; t= *a;
*a=*b; *a=*b;
*b=t; *b=t;
} }
void merge(int a[],int l,int r,int n) void merge(int a[],int l,int r,int n)
{ int *b = (int*)malloc(n*sizeof(int)); { int *b = (int*)malloc(n*sizeof(int));
int c=l; int c=l;
int p1,p2; int p1,p2;
p1 = l;p2=((l+r)/2)+1; p1 = l;p2=((l+r)/2)+1;
while ((p1<((l+r)/2)+1) &&(p2<r+1)) while ((p1<((l+r)/2)+1) &&(p2<r+1))
{ if(a[p1] <= a[p2]) { if(a[p1] <= a[p2])
{ b[c++] = a[p1]; { b[c++] = a[p1];
p1++; p1++;
} }
else else
{b[c++] = a[p2];p2++;} {b[c++] = a[p2];p2++;}
}; };
if (p2 == r+1) if (p2 == r+1)
{ {
while ((p1<((l+r)/2)+1)) while ((p1<((l+r)/2)+1))
{ {
b[c++] = a[p1]; b[c++] = a[p1];
p1++; p1++;
}; };
} }
else else
{ {
while ((p2<r+1)) while ((p2<r+1))
{ {
b[c++] = a[p2]; b[c++] = a[p2];
p2++; p2++;
}; };
} }
for (c=l;c<r-l+1;c++) for (c=l;c<r-l+1;c++)
a[c] = b[c]; a[c] = b[c];
} }
void mergesort(int a[],int n,int l,int r) void mergesort(int a[],int n,int l,int r)
{ {
if (r-l == 1 ) if (r-l == 1 )
{ {
if (a[l]>a[r]) if (a[l]>a[r])
swap(&a[l],&a[r]); swap(&a[l],&a[r]);
} }
else if(l==r) else if(l==r)
{} {}
else else
{mergesort(a,n,l,(l+r)/2); {mergesort(a,n,l,(l+r)/2);
mergesort(a,n,((l+r)/2)+1,r); mergesort(a,n,((l+r)/2)+1,r);
merge(a,l,r,n); merge(a,l,r,n);
} }
} }
int main(void) { int main(void) {
int *a,n,i; int *a,n,i;
scanf("%d",&n); scanf("%d",&n);
a = (int*)malloc(n*sizeof(int)); a = (int*)malloc(n*sizeof(int));
for (i=0;i<n;i++) for (i=0;i<n;i++)
{ {
scanf("%d",&a[i]); scanf("%d",&a[i]);
} }
mergesort(a,n,0,n-1); mergesort(a,n,0,n-1);
for (i=0;i<n;i++) for (i=0;i<n;i++)
{ {
printf(" %d",&a[i]); printf(" %d",&a[i]);
} }
return 0; return 0;
} }