c語言手動實現反轉鍊錶 Reverse

2021-08-09 14:34:12 字數 867 閱讀 7545

本題要求實現乙個函式,將給定的單鏈表逆轉。

函式介面定義:

list

reverse( list l );

其中list結構定義如下:

typedef

struct node *ptrtonode;

struct node ;

typedef ptrtonode list; /* 定義單鏈表型別 */

l是給定單鏈表,函式reverse要返回被逆轉後的鍊錶。

裁判測試程式樣例:

#include 

#include

typedef

int elementtype;

typedef

struct node *ptrtonode;

struct node ;

typedef ptrtonode list;

list read(); /* 細節在此不表 */

void print( list l ); /* 細節在此不表 */

list reverse( list l );

int main()

/* 你的**將被嵌在這裡 */

輸入樣例:

5

1 3 4 5 2

輸出樣例:

1

2 5 4 3 1

思路:

把指標反過來就行,尾指標變頭指標。

**:

list reverse( list l )

return l2;

}

c語言手動實現反轉鍊錶 Reverse

本題要求實現乙個函式,將給定的單鏈表逆轉。函式介面定義 list reverse list l 其中list結構定義如下 typedef struct node ptrtonode struct node typedef ptrtonode list 定義單鏈表型別 l是給定單鏈表,函式revers...

反轉鍊錶 C語言實現

題目要求 在o n 的時間內反轉鍊錶,並返回反轉後鍊錶的頭指標。分析 求解鍊錶問題首先一定要考慮非空問題,而且要注意終止的位置。如圖所示,反轉的時候定義三個節點,pcur代表當前節點 pnext代表指向的下乙個節點 ppre代表前乙個節點。有了這三個節點就可以從前往後遍歷,而且保證鍊錶不會斷裂!in...

反轉鍊錶(c 實現)

template class t class listnode template class t class list 反轉鍊錶 1 1 首先若煉表為空或只有乙個元素,不需要反轉,否則到2 2 定義三個指標p,q,r,p head它們的關係為p q r 3 令q p,若r為尾節點,則令r q,hea...