Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
127 commits
Select commit Hold shift + click to select a range
ac7a937
Added Client Server Implementation
Nairit11 Oct 20, 2018
a2bc982
Added instructions for Client Server Implementation
Nairit11 Oct 20, 2018
37314fb
number invalid if number >= base
Manoj7117 Oct 24, 2018
82436cc
An efficient solution.
akash19jain Oct 27, 2018
a13df71
Merge pull request #217 from TheAlgorithms/add_prime_factoriziation
Feb 12, 2019
a080a2a
Merge pull request #218 from TheAlgorithms/prime_fact_cor
Feb 12, 2019
49d82f1
refactoring
Feb 14, 2019
b5e5bb1
Merge pull request #219 from TheAlgorithms/changed_main_C
Feb 14, 2019
02cf095
fixed bug and refactored
Feb 14, 2019
a80d748
simplefy
Feb 14, 2019
cfa9652
Merge pull request #220 from TheAlgorithms/changed_parenthesis.c
Feb 14, 2019
924377b
Merge pull request #200 from akash19jain/patch-2
Feb 17, 2019
41032fe
Update README.md
Nairit11 Feb 18, 2019
1e819c0
Added stdio.h and unistd.h headers toremove compilation errors
Nairit11 Feb 18, 2019
cec67ff
Added unistd.h header file to remove compilation errors
Nairit11 Feb 18, 2019
1abb8b2
BugFix : loop out of range will cause stack smashing
54shady Feb 19, 2019
99d2d91
Merge pull request #190 from Nairit11/master
Feb 25, 2019
2fde23c
Merge pull request #192 from Manoj7117/patch-1
ashwek Mar 22, 2019
67e2e98
Fix bug and format code in QuickSort.c
yanglbme May 5, 2019
cef21cc
Update shellSort.c
yanglbme May 5, 2019
6c2375f
Merge pull request #222 from 54shady/BugFix
yanglbme May 5, 2019
261caac
Add partition sort algorithm
danghai May 4, 2019
8b9de23
Merge pull request #225 from danghai/master
yanglbme May 7, 2019
94d6942
Update partitionSort.c
yanglbme May 7, 2019
c8d38d6
Fix typos in readme.md
schneiderl May 9, 2019
939cad9
Merge pull request #226 from schneiderl/master
yanglbme May 10, 2019
4956500
Add naive search algorithm
danghai May 10, 2019
bb7199d
Add Rabin-Karp search algorithm
danghai May 11, 2019
25a225c
Update rabin_karp_search.c
yanglbme May 12, 2019
d970259
Update naive_search.c
yanglbme May 12, 2019
24b5a4e
Merge pull request #227 from danghai/search
yanglbme May 12, 2019
9001ae9
Add Boyer Moore search algo and simple Makefile
danghai May 17, 2019
b1fed3c
Merge pull request #228 from danghai/algo
danghai May 20, 2019
8e5f2ea
Update stack.c
ashwek Jun 8, 2019
3036438
change sol1.c
AafilUmar Jun 10, 2019
f4a529e
added sol4.c
AafilUmar Jun 11, 2019
82900ba
Merge pull request #235 from AafilUmar/master
ashwek Jun 12, 2019
5ea8747
Delete a.out
ashwek Jun 12, 2019
2e58bc2
stack implementation by linkedlist
danghai Jul 2, 2019
5160b2f
Add .gitignore file
danghai Jul 2, 2019
ab3173f
Fix indenting
danghai Jul 2, 2019
effe7dd
Merge pull request #238 from danghai/stack
danghai Jul 2, 2019
e4d0fc9
Add implementation list
danghai Jul 7, 2019
0d72d08
Merge pull request #241 from danghai/list
danghai Jul 9, 2019
5f138cc
fix the stack.c
Jul 10, 2019
8b6a93c
Update stack.c
megahertz66 Jul 12, 2019
5d7caa8
Merge pull request #243 from megahertz66/work
danghai Jul 19, 2019
842cb21
Added Radix Sort
arjunmann73 Jul 25, 2019
61e4460
Added MAX() function definition
arjunmann73 Jul 25, 2019
e739f35
Update README.md
arjunmann73 Jul 25, 2019
5852279
Update README.md
arjunmann73 Jul 25, 2019
b09f1d0
Formatted RadixSort Code
arjunmann73 Jul 25, 2019
cd81303
Modify insertionSort for more clear
danghai Jul 25, 2019
29e5b2a
Re-write binary insertion sort for more clear
danghai Jul 26, 2019
ace8d92
Remove duplicate binarys search
danghai Aug 2, 2019
95e9c97
Modify interpolation search
danghai Aug 2, 2019
3a444f2
Merge pull request #247 from arjunmann73/sorting_patch
danghai Aug 3, 2019
593d76a
Initial commit for Leetcode algorithm
danghai Aug 8, 2019
536957a
Merge remote-tracking branch 'origin/master'
danghai Aug 8, 2019
b2154ae
Update README.md
danghai Aug 8, 2019
e14e56b
Add comb sort
gbrunofranco Aug 8, 2019
e99bebc
Merge pull request #250 from gbrunofranco/comb_sort
StepfenShawn Aug 10, 2019
8eb6ef2
Add gnome sort
gbrunofranco Aug 10, 2019
bbf8f1b
Change for loop in gnome_sort.c, it's now C89-compatible
gbrunofranco Aug 10, 2019
823058f
Merge pull request #251 from gbrunofranco/gnome_sort
StepfenShawn Aug 10, 2019
4956146
Change second for loop in gnome_sort.c, it's now C89-compatible
gbrunofranco Aug 10, 2019
850c001
Merge pull request #252 from gbrunofranco/gnome_sort
StepfenShawn Aug 10, 2019
de63c24
Add more algorithm solutions for leetcode
danghai Aug 13, 2019
3f4599e
Update README
danghai Aug 13, 2019
d45ffaf
added solution to Leetcode problem 771.Jewels and Stones
harshraj22 Aug 16, 2019
93cb21e
updated README
harshraj22 Aug 20, 2019
07c1ec4
Merge pull request #253 from harshraj22/771.c
danghai Aug 20, 2019
a25c895
Update README.md
StepfenShawn Aug 23, 2019
9a75c4e
Add more solution for leetcode
danghai Aug 24, 2019
f14320d
Change for loop in comb_sort.c
StepfenShawn Aug 25, 2019
7f9d115
fix bug
realDuYuanChao Aug 25, 2019
b752562
Add some solution for leetcode
danghai Sep 3, 2019
7e50d91
Added BFS algorithm
PalAditya Sep 14, 2019
35b2e8e
Merge pull request #256 from PalAditya/master
danghai Sep 15, 2019
11b334f
Added DFS algorithm
PalAditya Sep 15, 2019
8fe3f8c
Merge pull request #257 from PalAditya/master
danghai Sep 16, 2019
d0d4a99
Add more solution on leetcode
danghai Sep 18, 2019
b23cbb3
Merge branch 'master' of https://github.com/TheAlgorithms/C
danghai Sep 18, 2019
8bec476
Adding min heap
kaustavbhattacharya07 Sep 25, 2019
160a280
Added Topological Sorting
PalAditya Sep 26, 2019
30bfcef
Update more leetcode solution
danghai Sep 26, 2019
5040e25
Merge pull request #263 from PalAditya/master
StepfenShawn Sep 27, 2019
272ca1b
Merge pull request #262 from kaustavbhattacharya07/master
StepfenShawn Sep 28, 2019
42f6ba1
Merge pull request #255 from shellhub/master
StepfenShawn Sep 29, 2019
6c997cf
Added code to find strongly connected components
PalAditya Sep 30, 2019
b7eb40c
Added Max Heap
kaustavbhattacharya07 Sep 30, 2019
19f7994
Added Max Heap
kaustavbhattacharya07 Sep 30, 2019
90f9c0a
Merge pull request #268 from kaustavbhattacharya07/master
StepfenShawn Oct 1, 2019
9b72741
Add unionFind.c to misc folder
sessihers Oct 1, 2019
8ea6314
Rename mirror to mirror.c
StepfenShawn Oct 1, 2019
af05811
Create redBlackTree.c
Abhijitpatil19 Oct 1, 2019
b25076f
Project Euler Solution
AmanRaj1608 Oct 1, 2019
daef3ff
Merge pull request #282 from Abhijitpatil19/master
StepfenShawn Oct 1, 2019
3a804c5
README updated
AmanRaj1608 Oct 1, 2019
17ffec5
Merge pull request #283 from AmanRaj1608/master
StepfenShawn Oct 1, 2019
7dceada
Added test case and explanation to unionFind.c
sessihers Oct 1, 2019
ddab1c5
Fixes Issue #284
moinak878 Oct 1, 2019
15c5371
Merge pull request #277 from sessihers/add-union-find
StepfenShawn Oct 1, 2019
78d815c
Merge pull request #287 from moinak878/Fibonacci-using-DP
StepfenShawn Oct 1, 2019
aa3fd5d
Update
arpitv424 Oct 2, 2019
aeedac7
Merge pull request #267 from PalAditya/master
StepfenShawn Oct 2, 2019
564ef7a
Merge pull request #298 from arpitv424/master
StepfenShawn Oct 2, 2019
6a384f4
Update more leetcode solution
freddy2659 Oct 2, 2019
7439209
Merge pull request #309 from jonohein/patch-1
danghai Oct 3, 2019
30e0034
Add solution to 1189 leetcode
Oct 3, 2019
acba511
Update leetcode README
Oct 3, 2019
ffd7b92
Update LinearSearch.c
Archana550 Oct 3, 2019
9f7a97a
Merge pull request #312 from Archana550/patch-1
StepfenShawn Oct 3, 2019
7335e01
Create LICENSE
StepfenShawn Oct 3, 2019
8963e54
Merge pull request #313 from TheAlgorithms/add-license-1
StepfenShawn Oct 3, 2019
ffebcd5
Added multikey quicksort
JianLoong Oct 3, 2019
3a21e49
Added solution to leetcode problem 173 in C - found in leetcode/src/1…
SaurusXI Oct 3, 2019
397b3b1
Merge pull request #314 from JianLoong/master
danghai Oct 3, 2019
e19b4a5
Merge pull request #326 from SaurusXI/master
danghai Oct 3, 2019
e8da4c7
Added solution to leetcode problem 190 in C
SaurusXI Oct 3, 2019
5a6ed8e
Added Solution to leetcode Problem 191
SaurusXI Oct 3, 2019
1f88545
Added solution to Leetcode Problem 461
SaurusXI Oct 3, 2019
b9941d3
Update 1189 solution
Oct 3, 2019
f913934
Merge pull request #311 from rodrigoAMF/249-add-maximum-number-of-bal…
danghai Oct 3, 2019
d2ad4b0
Revert "Added Solution to leetcode Problem 191"
SaurusXI Oct 4, 2019
08f62bf
Commented code to explain algorithms in 190 and 191
SaurusXI Oct 4, 2019
972d4fa
Merge pull request #327 from SaurusXI/master
danghai Oct 4, 2019
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
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*.swp
*.out
674 changes: 674 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

41 changes: 36 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# C
C
========

## LeetCode Algorithm

- [Solution](https://github.com/TheAlgorithms/C/tree/master/leetcode) for [LeetCode](https://leetcode.com/problemset/all/)

## Computer Oriented Statistical Methods
- Gauss_Elimination
Expand All @@ -21,34 +26,45 @@
- stack
- queue
- dictionary
linked_list
- linked_list
- singly_link_list_deletion
- stack_using_linkedlists
binary_trees
- binary_trees
- create_node
- recursive_traversals
trie
- trie
- trie


## Searching
- Linear_Search
- Binary_Search
- Other_Binary_Search
- Jump_Search
- Fibonacci_Search
- Interpolation_Search
- Modified_Binary_Search


## Sorting
- BinaryInsertionSort
- BubbleSort
- BucketSort
- BogoSort
- comb_sort
- CountingSort
- gnome_sort
- PartitionSort
- ShellSort
- RadixSort
- InsertionSort
- MergeSort
- OtherBubbleSort
- QuickSort
- SelectionSort
- ShakerSort
- HeapSort

## Hashing
- sdbm
- djb2
Expand All @@ -71,6 +87,15 @@
- Sudoku Solver
- prime factorization

## Project Euler
- Problem 1
- Problem 2
- Problem 3
- Problem 4
- Problem 5
- Problem 6
- Problem 7


## exercism
In this directory you will find (in the right order):
Expand All @@ -80,3 +105,9 @@ In this directory you will find (in the right order):
* word-count
* rna-transcription

## Simple Client Server Implementation
This directory contains
* client.c
* server.c

First execute server.c in a terminal and then client.c in a different terminal. Enables communication between two terminals.
66 changes: 66 additions & 0 deletions Simple Client Server/client.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@

// Write CPP code here
#include <netdb.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/socket.h>
#define MAX 80
#define PORT 8080
#define SA struct sockaddr
void func(int sockfd)
{
char buff[MAX];
int n;
for (;;) {
bzero(buff, sizeof(buff));
printf("Enter the string : ");
n = 0;
while ((buff[n++] = getchar()) != '\n')
;
write(sockfd, buff, sizeof(buff));
bzero(buff, sizeof(buff));
read(sockfd, buff, sizeof(buff));
printf("From Server : %s", buff);
if ((strncmp(buff, "exit", 4)) == 0) {
printf("Client Exit...\n");
break;
}
}
}

int main()
{
int sockfd, connfd;
struct sockaddr_in servaddr, cli;

// socket create and varification
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd == -1) {
printf("socket creation failed...\n");
exit(0);
}
else
printf("Socket successfully created..\n");
bzero(&servaddr, sizeof(servaddr));

// assign IP, PORT
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = inet_addr("127.0.0.1");
servaddr.sin_port = htons(PORT);

// connect the client socket to server socket
if (connect(sockfd, (SA*)&servaddr, sizeof(servaddr)) != 0) {
printf("connection with the server failed...\n");
exit(0);
}
else
printf("connected to the server..\n");

// function for chat
func(sockfd);

// close the socket
close(sockfd);
}
96 changes: 96 additions & 0 deletions Simple Client Server/server.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@

#include <netdb.h>
#include <netinet/in.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <stdio.h>
#include <sys/socket.h>
#include <sys/types.h>
#define MAX 80
#define PORT 8080
#define SA struct sockaddr

// Function designed for chat between client and server.
void func(int sockfd)
{
char buff[MAX];
int n;
// infinite loop for chat
for (;;) {
bzero(buff, MAX);

// read the message from client and copy it in buffer
read(sockfd, buff, sizeof(buff));
// print buffer which contains the client contents
printf("From client: %s\t To client : ", buff);
bzero(buff, MAX);
n = 0;
// copy server message in the buffer
while ((buff[n++] = getchar()) != '\n')
;

// and send that buffer to client
write(sockfd, buff, sizeof(buff));

// if msg contains "Exit" then server exit and chat ended.
if (strncmp("exit", buff, 4) == 0) {
printf("Server Exit...\n");
break;
}
}
}

// Driver function
int main()
{
int sockfd, connfd, len;
struct sockaddr_in servaddr, cli;

// socket create and verification
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd == -1) {
printf("socket creation failed...\n");
exit(0);
}
else
printf("Socket successfully created..\n");
bzero(&servaddr, sizeof(servaddr));

// assign IP, PORT
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
servaddr.sin_port = htons(PORT);

// Binding newly created socket to given IP and verification
if ((bind(sockfd, (SA*)&servaddr, sizeof(servaddr))) != 0) {
printf("socket bind failed...\n");
exit(0);
}
else
printf("Socket successfully binded..\n");

// Now server is ready to listen and verification
if ((listen(sockfd, 5)) != 0) {
printf("Listen failed...\n");
exit(0);
}
else
printf("Server listening..\n");
len = sizeof(cli);

// Accept the data packet from client and verification
connfd = accept(sockfd, (SA*)&cli, &len);
if (connfd < 0) {
printf("server acccept failed...\n");
exit(0);
}
else
printf("server acccept the client...\n");

// Function for chatting between client and server
func(connfd);

// After chatting close the socket
close(sockfd);
}
4 changes: 3 additions & 1 deletion conversions/toDecimal.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,10 @@ int main(void) {
else
number[i] = base + 1;

if (number[i] > base)
if (number[i] >= base){
printf("invalid number\n");
return 0;
}
}

for (j = 0; j < i; j++) {
Expand Down
Loading