GithubHelp home page GithubHelp logo

diehard073055 / fictional-engine Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 8 KB

Rust Linked List Exercises: A collection of hands-on exercises to learn and practice linked list manipulation, memory management, and the use of Box and Option in Rust. This repository contains a shared library crate for the ListNode struct and individual binary crates for each exercise, organized in a single Cargo workspace.

License: MIT License

Shell 62.29% Rust 37.71%

fictional-engine's Introduction

Hi there! ๐Ÿ‘‹

I am Eshan Shafeeq from the Maldives, Spent most of my early career in IoT, Now focusing on Web3 and Rust.

My Recent Thoughts

My Telemetry Stats ๐Ÿ›ฐ

Languages Ive Spent Most Time on (Past Month)

From: 04 April 2023 - To: 22 May 2024

Total Time: 148 hrs 17 mins

TypeScript       52 hrs 54 mins  >>>>>>>>>----------------   35.68 %
Rust             42 hrs 51 mins  >>>>>>>------------------   28.90 %
Python           19 hrs 44 mins  >>>----------------------   13.32 %
JavaScript       5 hrs 50 mins   >------------------------   03.94 %
Markdown         5 hrs 25 mins   >------------------------   03.66 %
Bash             4 hrs 27 mins   >------------------------   03.01 %
Other            3 hrs 34 mins   >------------------------   02.41 %
Text             2 hrs 33 mins   -------------------------   01.73 %
YAML             2 hrs 14 mins   -------------------------   01.51 %
CSS              1 hr 28 mins    -------------------------   01.00 %

Languages / Editors Ive Spent Most Time on (Past Week)

My Github Trophies!

My Github Streak

โšก Recent Activity

  1. ๐Ÿ”’ Closed issue #1 in DieHard073055/rust-sqlx
  2. โ— Opened issue #1 in DieHard073055/rust-sqlx
  3. ๐Ÿ”’ Closed issue #3 in DieHard073055/supabase-hello-world
  4. ๐ŸŽ‰ Merged PR #4 in DieHard073055/supabase-hello-world
  5. ๐Ÿ’ช Opened PR #4 in DieHard073055/supabase-hello-world
github-snake

fictional-engine's People

Contributors

diehard073055 avatar

Watchers

 avatar  avatar  avatar  avatar

fictional-engine's Issues

Exercise 6: Merge Two Sorted Singly Linked Lists

Write a function to merge two sorted singly linked lists into a single sorted list. Utilize the ListNode, Box, and Option types effectively, and follow Rust's ownership and borrowing rules.

Exercise 3: Find the Middle Node

Write a function to find the middle node of a singly linked list. Utilize the ListNode, Box, and Option types appropriately, and adhere to Rust's ownership and borrowing rules.

Exercise 2: Reverse a Singly Linked List

Write a function to reverse a singly linked list in place. Make sure to use the ListNode, Box, and Option types effectively and follow Rust's ownership and borrowing rules.

Exercise 1: Simple Singly Linked List

Implement a basic singly linked list with insertion and display functionalities. Ensure that the implementation uses the ListNode, Box, and Option types correctly, and adheres to Rust's ownership and borrowing rules.

Implement the list_node Library for Linked List Operations

This issue is to implement the list_node library, which will provide the foundation for working with singly linked lists in our Rust exercises. The library should encapsulate the common operations related to linked lists, making it easy for users to work with linked list data structures.

The list_node library should include the following features:

  1. A ListNode struct that represents a single node in the linked list, with an integer value and a reference to the next node in the list.
  2. Functions for basic linked list operations such as:
    • Creating a new list node.
    • Inserting a node at a specific position in the list.
    • Removing a node from the list, given its value or position.
    • Finding the length of the list.
    • Reversing the list in place.
  3. Implement the library using Rust's Box and Option types for memory management and nullable references.

Please ensure that the implementation adheres to Rust's ownership and borrowing rules, and follows best practices for safety and efficiency.

Feel free to add any other features or optimizations that might be useful for working with linked lists. Once the library is implemented, it will be used as a basis for the linked list exercises in this repository.

Exercise 4: Remove a Node with a Given Value

Write a function to remove the first occurrence of a given value from a singly linked list. Ensure the correct use of the ListNode, Box, and Option types, and follow Rust's ownership and borrowing rules.

Create GitHub Actions Workflow for Building and Testing the Project

Hello,

In order to automate the build and test process for the Rust Linked List Exercises project, it would be helpful to have a GitHub Actions workflow set up. This workflow should run on every push and pull request to the main branch, ensuring that the code is always functional and up-to-date.

Please follow these high-level instructions to create the workflow:

  1. Create a .github directory and a workflows directory inside it at the root of the repository.
  2. Inside the workflows directory, create a new file named rust.yml.
  3. Configure the workflow to run on every push and pull request to the main branch.
  4. Add a job that runs on the ubuntu-latest virtual environment.
  5. In the job, add steps to:
    • Check out the repository.
    • Install Rust with the stable toolchain.
    • Change the working directory to linked_list_exercises.
    • Build the entire workspace.
    • Run all the tests in the workspace.

Once the workflow is set up, it will help maintain the code quality and ensure that the project is always functional. Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.