<commit_before>class LinkedList:
    """Double linked list implementation"""
    def __init__(self, key=None, next_=None, prev=None):
        self.key = key
        self.next = next_
        self.prev = prev

    def prepend(self, key=None):<commit_msg>add array linked list note<commit_after>class LinkedList:
    """Double linked list implementation.

    Alternatively, linked list can be implemented using three arrays: key,
    next, prev and global variable free that points to first unused array
    entry. Free works as stack: after adding an element to the list, free is
    set to next[free].
    """

    def __init__(self, key=None, next_=None, prev=None):
        self.key = key
        self.next = next_
        self.prev = prev

    def prepend(self, key=None):
{'fraction_non_alphanumeric': 0.09149484536082474, 'fraction_numerical': 0.0, 'mean_word_length': 3.0051546391752577, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5306151', 'n_tokens_mistral': 220, 'n_tokens_neox': 214, 'n_words': 82}