單鏈表反轉(C語言)

2021-10-01 12:30:57 字數 829 閱讀 7835

思路:思路

**

//遞迴法

list *

reverse_recursive

(list *head)

else

return head;

}

#include #include struct list

;list *init_list(list *head)

return head->next; }

void print_list(list *head)

printf("\n");

}//單鏈表反轉函式

//三指標法

/* a,b,c三個指標分別指向三個位置,

a指標和b指標用來反轉兩個結點,

c指標指向下乙個節點用來標記和向前推進。

*/list *reverse_threepoints1(list *head)

return a;

}//三指標法優化

/* 說是優化,其實是一樣的思路,只不過,這裡的head作為b,a指向空。

a,b,head三個指標分別指向三個位置,

a指標和head指標用來反轉兩個結點,

b指標指向下乙個節點用來標記和向前推進。

*/list *reverse_threepoints2(list *head)

return a;

}//遞迴法

list *reverse_recursive(list *head)

else

return head;

}int main()

單鏈表反轉 C語言

題目 時間複雜度為o n 空間複雜度為o 1 1 6 include include define elemtype int int num 0 typedef struct node node typedef node linklist void initlist linklist l void ...

c語言單鏈表 單鏈表反轉(C語言)

思路 單鏈表反轉函式 三指標法 a,b,c三個指標分別指向三個位置,a指標和b指標用來反轉兩個結點,c指標指向下乙個節點用來標記和向前推進。list reverse threepoints1 list head return a 三指標法優化 說是優化,其實是一樣的思路,只不過,這裡的head作為b...

C 單鏈表反轉

複習下c 單鏈表反轉 思路 在順序讀取鍊錶的過程中,對每個節點逐個進行反轉 首先建立單鏈表 struct linknode linknode createlink return head 對鍊錶進行反轉 linknode reverse linknode head q next p head nex...