diff --git a/GCD/gcd.py b/GCD/gcd.py new file mode 100644 index 0000000..5db5a65 --- /dev/null +++ b/GCD/gcd.py @@ -0,0 +1,13 @@ +def computeGCD(x, y): + + while(y): + x, y = y, x % y + + return x + +a = 60 +b= 48 + +# prints 12 +print ("The gcd of 60 and 48 is : ",end="") +print (computeGCD(60,48)) diff --git a/Middle-Element-Linked-List/Middle-Element-Linked-List-C.c b/Middle-Element-Linked-List/Middle-Element-Linked-List-C.c new file mode 100644 index 0000000..59c9ddd --- /dev/null +++ b/Middle-Element-Linked-List/Middle-Element-Linked-List-C.c @@ -0,0 +1,62 @@ +#include +#include + +struct Node +{ + int data; + struct Node* next; +}; + +void printMiddle(struct Node *head) +{ + struct Node *slow_ptr = head; + struct Node *fast_ptr = head; + + if (head!=NULL) + { + while (fast_ptr != NULL && fast_ptr->next != NULL) + { + fast_ptr = fast_ptr->next->next; + slow_ptr = slow_ptr->next; + } + printf("The middle element is [%d]\n\n", slow_ptr->data); + } +} + +void push(struct Node** head_ref, int new_data) +{ + struct Node* new_node = + (struct Node*) malloc(sizeof(struct Node)); + + new_node->data = new_data; + + new_node->next = (*head_ref); + + (*head_ref) = new_node; +} + +void printList(struct Node *ptr) +{ + while (ptr != NULL) + { + printf("%d->", ptr->data); + ptr = ptr->next; + } + printf("NULL\n"); +} + +int main() +{ + + struct Node* head = NULL; + int i; + + for (i=5; i>0; i--) + { + push(&head, i); + printList(head); + printMiddle(head); + } + + return 0; +}