這裡只介紹鍊錶逆置的實現
效果展示:
//賦值
padd->data =
++i;
padd->next =
null
;//建立鍊錶
if(head ==
null
)else
//ptmp始終保持在最後乙個結點位置,方便新新增的結點的插入
ptmp = padd;
}//間接修改實參頭結點的值
*phead = head;
}
//列印鍊錶
void
list_print
(list *head)
ptmp = head;
printf
("head");
while
(ptmp)
printf
("->end\n");
}
//鍊錶逆置函式
void
list_inverse
(list *
*phead)
head =
*phead;
pcur = head;
ppos = pcur->next;
while
(ppos)
head->next = ppos;
head = pcur;
*phead = head;
}
int
_tmain
(int argc, _tchar* ar**)
鍊錶就地逆置
就地逆置,就是在不借助任何中間變數的情況下,逆置一單鏈表。演算法思路 逆置後的點鍊錶初始為空,表中的節點不是新生成的,而是從原鍊錶當中一次 刪除 再逐個頭插到逆置表中。設逆置鍊錶的初始態為空表,刪除 已知鍊錶中 的第乙個節點,然後將它 插入 到逆置鍊錶的 表頭 即使得他成為逆置鍊錶中 新 的第乙個節...
鍊錶的逆置
5.鍊錶的逆置 已知head指向乙個帶頭節點的單向鍊錶,鍊錶中每個結點包含資料域和指標域。用鍊錶實現該鍊錶的逆置,並輸出。例如 輸入 5 整數表示要輸入的字元個數 abcde 輸出 edcba 注意 不允許通過改變每個節點的資料域來實現效果,必須改變鍊錶連線順序發生逆置。我寫的 如下 include...
鍊錶的逆置
剛剛除錯出來,趁熱寫一下。輸入多個整數,以 1作為結束標誌,順序建立乙個帶頭結點的單鏈表,之後對該單鏈表的資料進行逆置,並輸出逆置後的單鏈表資料。input 輸入多個整數,以 1作為結束標誌。output 輸出逆置後的單鏈表資料。sample input 12 56 4 6 55 15 33 62 ...