https://github.com/yamtaldev/doublylinkedlist
Simple C implementation of a Doubly Linked List.
https://github.com/yamtaldev/doublylinkedlist
Last synced: over 1 year ago
JSON representation
Simple C implementation of a Doubly Linked List.
- Host: GitHub
- URL: https://github.com/yamtaldev/doublylinkedlist
- Owner: YamtalDev
- License: mit
- Created: 2023-10-04T14:45:11.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-10-05T08:42:39.000Z (almost 3 years ago)
- Last Synced: 2025-02-03T05:44:05.279Z (over 1 year ago)
- Language: C
- Size: 10.7 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DoublyLinkedList
This repository contains a C implementation of a DoublyLinkedList data structure. The implementation is organized into include, test, and src folders.
## Overview
This repository provides a C data structure implementation of a DoublyLinkedList. It includes a set of files that make it easy to build, run, test, and clean the project.
# Getting Started
## Prerequisites
Before you begin, ensure you have the following prerequisites installed on your system:
### make: If you don't have `make` installed, you can download and install it from the official website:
- [Download make for windows](https://gnuwin32.sourceforge.net/packages/make.htm)
- [Download make for Linux and MacOS](https://www.gnu.org/software/make/)
### Download from the command line:
Linux:
```shell
$ sudo apt install make -y
```
MacOS:
```shell
$ brew install make
```
### gcc Compiler: If you don't have gcc installed, you can download and install it from the official website:
- [Download gcc](https://gcc.gnu.org/install/)
### Download from the command line:
Linux:
```shell
$ sudo apt update
$ sudo apt install build-essential
```
MacOS:
```shell
$ brew install gcc
```
Windows:
```shell
pacman -Syu
pacman -S mingw-w64-x86_64-gcc
gcc --version
```
## Installation
1. **Clone or Download the Repository:**
You can clone this Git repository or download it as a ZIP file to your local machine.
``` shell
$ git clone https://github.com/YamtalDev/DoublyLinkedList.git
$ cd DoublyLinkedList/test/dll
```
2. **Compile and run the Project:**
Use make to compile the project:
``` shell
$ make
$ make run
```
## Project structure:
```shell
├── DoublyLinkedList/
│ ├── bin/
│ │ ├── executables/
│ │ ├── objects/
│ │ ├── shared_libs/
│ │ └── static_libs/
│ |
| ├── include/
│ │ └── Header file
| |
│ ├── src/
│ │ └── src file
| |
│ ├── test/
│ │ ├── makefile
│ │ └──test file
```
## Usage
To compile, run, debug, or clean the project, you can use the provided Makefile
with the following commands:
- Simple compilation
```shell
$ make
```
- Running the project
```shell
$ make run
```
- Debugging the project
```shell
$ make debug
```
- Deleting all the .o, executables, shared/static libs files
```shell
$ make clean
```
- Checking valgrind on the project
```shell
$ make vlg
```
- Release compilation with optimization -O3
```shell
$ make release
```
These simple commands streamline the development process and make it easy to work
with each project in this repository.
## License:
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## Contact
For questions or issues, feel free to [create an issue](https://github.com/YamtalDev/DoublyLinkedList/issues) or contact the project maintainer.
Connect with me: