13 鍊錶逆置簡單應用

2021-09-16 21:13:09 字數 1062 閱讀 2717

這裡只介紹鍊錶逆置的實現

效果展示:

//賦值

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 ...