C Sort Algorithm: Buble Sort



void swap(int *a , int *b) {
    int tmp = *a;
    *a = *b;
    *b = tmp;
}


void buble_sort(linked_list_t *l) {
    bool sorted = false;
    while(sorted == false) {
        sorted = true;
        linked_list_node_t *node = l->head;
		int i;
        for (i = 0 ; i < l->size -1 ; i++) {
            if (node->val > node->next->val) {
                swap(&node->val, &node->next->val);
                sorted = false;
            }
            node = node->next;
        }

    }
    
}

Leave a Reply

Your email address will not be published. Required fields are marked *