linux kernal 代码汇总学习

来源:互联网 发布:怎么用u盘重装mac系统 编辑:程序博客网 时间:2024/04/28 17:09
/**
* llist_reverse_order - reverse order of a llist chain
* @head:        first item of the list to be reversed
*
* Reverse the order of a chain of llist entries and return the
* new first entry.
*/

struct llist_node *llist_reverse_order(struct llist_node *head)
{
        struct llist_node *new_head = NULL;
        while (head) {
                struct llist_node *tmp = head;
                head = head->next;
                tmp->next = new_head;
                new_head = tmp;
        }
        return new_head;
}

我自己写的时候总是会对第一项进行单独处理,此算法的精华之处就是利用new_head初始值位NULL,第一次只需处理第一个元素,以得到统一处理。
0 0