思路:思路
**
//遞迴法
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...