diff --git a/fib_series.cpp b/fib_series.cpp new file mode 100644 index 0000000..d4fa984 --- /dev/null +++ b/fib_series.cpp @@ -0,0 +1,17 @@ +//Code to print Fibonacci Series issue#25 +#include +using namespace std; +int main() { + int n1=0,n2=1,n3,i,number; + cout<<"Enter the number of elements: "; + cin>>number; + cout< +int f(int); + +int main() +{ + int n, i = 0, c; + + scanf("%d", &n); + + printf("Fibonacci series terms are:\n"); + + for (c = 1; c <= n; c++) + { + printf("%d\n", f(i)); + i++; + } + + return 0; +} + +int f(int n) +{ + if (n == 0 || n == 1) + return n; + else + return (f(n-1) + f(n-2)); +} \ No newline at end of file diff --git a/linked_list.cpp b/linked_list.cpp new file mode 100644 index 0000000..f519711 --- /dev/null +++ b/linked_list.cpp @@ -0,0 +1,105 @@ +#include +#include + +typedef struct node { + int data; + struct node* next; +} node; + +void insert_node(node** head, int val, int position); + +void insert_node(node** head, int val, int position) +{ + struct node *curr = *head, *tmp_node = NULL; + int count = 1; + + tmp_node = (node*)malloc(sizeof(node)); + + if (tmp_node == NULL) { + printf("Memory allocation is failed:"); + return; + } + tmp_node->data = val; + tmp_node->next = NULL; + + if (*head == NULL) { + // List is empty, assigning head pointer to tmp_node + *head = tmp_node; + return; + } + if (position == 1) { + // Inserting node at the beginning of the list + tmp_node->next = *head; + *head = tmp_node; + return; + } + while (curr && count < position - 1) { + curr = curr->next; + count++; + } + if (position > (count + 1)) { + printf("\n position doesn't exists in the list "); + return; + } + if (count + 1 == position && curr->next == NULL) { + // Inseting node at the end of the list + curr->next = tmp_node; + return; + } + // Inserting node in the list at given position + tmp_node->next = curr->next; + curr->next = tmp_node; +} + +void print_list(node* head) +{ + printf("\nList elements:\n"); + while (head) { + printf("%d ", head->data); + head = head->next; + } + printf("\n"); + return; +} + +int main() +{ + int num_nodes, value, index, position; + node* head = NULL; + + printf("Enter the no. of nodes to create list: "); + scanf("%d", &num_nodes); + + for (index = 1; index <= num_nodes; index++) { + printf("Enter node data for position %d in the list: ", index); + scanf("%d", &value); + insert_node(&head, value, index); + } + print_list(head); + + printf("\nInsert the element at 1st position: "); + scanf("%d", &value); + insert_node(&head, value, 1); + // We have inserted one more element, hence num_nodes get increased by 1 + num_nodes += 1; + print_list(head); + + printf("\nInsert the element at last position: "); + scanf("%d", &value); + insert_node(&head, value, num_nodes + 1); + // We have inserted one more element, hence num_nodes will get increased by 1 + num_nodes += 1; + print_list(head); + + printf("\nInsert the element at any position in the list\n"); + printf("Enter the position: "); + scanf("%d", &position); + printf("Enter the element value: "); + scanf("%d", &value); + insert_node(&head, value, position); + // We have inserted one more element, hence num_nodes will get increased by 1 + num_nodes += 1; + print_list(head); + + return 0; +} \ No newline at end of file