diff --git a/opaque_pointer/application.c b/opaque_pointer/application.c new file mode 100644 index 0000000..7e191a9 --- /dev/null +++ b/opaque_pointer/application.c @@ -0,0 +1,29 @@ +/* + * ===================================================================================== + * + * Filename: application.c + * + * Description: + * + * Version: 1.0 + * Created: 10/02/24 10:17:06 PM IST + * Revision: none + * Compiler: gcc + * + * Author: YOUR NAME (), + * Organization: + * + * ===================================================================================== + */ + +#include "linkedlist.h" + +int +main(){ + ll_node_t *node1 = malloc_new_node(); + ll_node_t *node2 = malloc_new_node(); + + linkedlist_insertion(node1,node2); + + return 0; +} diff --git a/opaque_pointer/linkedlist.c b/opaque_pointer/linkedlist.c new file mode 100644 index 0000000..55d2658 --- /dev/null +++ b/opaque_pointer/linkedlist.c @@ -0,0 +1,48 @@ +/* + * ===================================================================================== + * + * Filename: linkedlist.c + * + * Description: + * + * Version: 1.0 + * Created: 10/02/24 08:55:04 PM IST + * Revision: none + * Compiler: gcc + * + * Author: YOUR NAME (), + * Organization: + * + * ===================================================================================== + */ + +#include "linkedlist.h" +#include +#include + +typedef struct ll_node_{ + int data; + struct ll_node_ *left; + struct ll_node_ *right; +}ll_node_t; + +void +linkedlist_insertion( + ll_node_t *current_node, + ll_node_t *new_node){ + + if( !current_node ){ + current_node = new_node; + return; + } + + current_node->left = new_node; + new_node->right = current_node; + current_node = new_node; + return; +} + +ll_node_t * +malloc_new_node(){ + return (ll_node_t *)malloc(sizeof(ll_node_t)); +} diff --git a/opaque_pointer/linkedlist.h b/opaque_pointer/linkedlist.h new file mode 100644 index 0000000..4e0b706 --- /dev/null +++ b/opaque_pointer/linkedlist.h @@ -0,0 +1,34 @@ +/* + * ===================================================================================== + * + * Filename: linkedlist.h + * + * Description: + * + * Version: 1.0 + * Created: 10/02/24 08:40:52 PM IST + * Revision: none + * Compiler: gcc + * + * Author: YOUR NAME (), + * Organization: + * + * ===================================================================================== + */ + +#ifndef __LINKEDLIST__ +#define __LINKEDLIST__ + +typedef +struct ll_node_ ll_node_t; + + +/*public APIs*/ +void +linkedlist_insertion( + ll_node_t *current_node, + ll_node_t *new_node); + +ll_node_t * +malloc_new_node(); +#endif