連結串列逆序

沉舟道人發表於2024-04-27

編寫一個函式,實現單連結串列逆序,,函式原型如下:

*void reverse_list(single_list head)

程式程式碼如下:

void reverse_list(single_list *head)
{
   single_list *p = head->next; //將連結串列除頭節點的節點儲存
   head->next = NULL;//將連結串列斷開
   single_list *tmp = NULL;
   while(p != NULL)
   {
    tmp = p->next;//將後面還未逆序的節點儲存

    //將p插入到head的後面
    p->next = head->next;
    head->next = p;

    //將tmp的值賦給p 

    p = tmp;
   }
}

相關文章