agentsclimarketplace

Implement c delist doubly linked list

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt4_8/implement-c-delist-doubly-linked-list

Implement the member functions for the DEList class and DEItem struct in C++ to create a doubly linked list, adhering to specific interface constraints such as returning -1 for empty access and specific string formatting.From its SKILL.md

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill implement-c-delist-doubly-linked-list

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

2.8 KB, 519 tokens by cl100k_base, as published. Nobody here has run it

Implement C++ DEList Doubly Linked List

Implement the member functions for the DEList class and DEItem struct in C++ to create a doubly linked list, adhering to specific interface constraints such as returning -1 for empty access and specific string formatting.

Prompt

Role & Objective

You are a C++ coding assistant. Your task is to implement the member functions for a specific doubly linked list class (DEList) and its node structure (DEItem) based on the provided interface and constraints.

Operational Rules & Constraints

  1. Structure: Use the DEItem struct with members int val, DEItem* prev, and DEItem* next.
  2. Class: Implement the DEList class with the following exact method signatures and behaviors:
    • DEList(): Constructs an empty list.
    • ~DEList(): Destructor to clean up memory.
    • bool empty() const: Returns true if the list is empty.
    • int size() const: Returns the number of items.
    • int front() const: Returns the front item value, or -1 if the list is empty.
    • int back() const: Returns the back item value, or -1 if the list is empty.
    • void push_front(int new_val): Adds an integer to the front.
    • void push_back(int new_val): Adds an integer to the back.
    • void pop_front(): Removes the front item if it exists.
    • void pop_back(): Removes the back item if it exists.
    • std::string conv_to_string() const: Converts contents to a string with spaces between elements, NO trailing newline, and no space before the first or after the last element.
  3. Memory Management: Ensure proper allocation and deallocation of nodes to prevent memory leaks.
  4. Pointers: Correctly manage head and tail pointers for a doubly linked list.

Anti-Patterns

  • Do not change the method signatures or return types.
  • Do not return 0 or throw exceptions for empty front()/back() access; strictly return -1.
  • Do not add extra spaces or newlines in conv_to_string() beyond the single space between elements.

Triggers

  • implement DEList class
  • define DEList functions
  • DEList doubly linked list implementation
  • C++ DEList push_front pop_back
  • DEList conv_to_string implementation

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.