第三 四周練習 1 2鍊錶逆置

2021-10-09 13:00:34 字數 1189 閱讀 2457

本題要求實現乙個函式,將給定單向鍊錶逆置,即表頭置為表尾,表尾置為表頭。鍊錶結點定義如下:

struct listnode 

;

struct listnode *

reverse

(struct listnode *head )

;

其中head是使用者傳入的鍊錶的頭指標;函式reverse將鍊錶head逆置,並返回結果鍊錶的頭指標。

#include

#include

struct listnode

;struct listnode *

createlist()

;/*裁判實現,細節不表*/

struct listnode *

reverse

(struct listnode *head )

;void

printlist

(struct listnode *head )

printf

("\n");

}int

main()

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

123

456-

1

654

321

解題思路:

求逆置鍊錶

–> 觀察逆置鍊錶與原鍊錶的差異

–> 發現原煉表將資料逆順序排列即可得到逆置鍊錶

–> 將問題轉化為對原鍊錶的資料進行逆排列

–> 遍歷原單項鍊表,將資料正序儲存在陣列中

–> 從後向前迴圈,將陣列元素倒敘存入鍊錶

–> 新煉錶即為逆置鍊錶,返回新煉表頭指標,問題解決。

struct listnode *

reverse

(struct listnode *head)

p = p->next;

}//將陣列中的資料倒放進鍊錶,即可得到原鍊錶的逆置鍊錶

struct listnode *q;

q = head;

for(j = i-

1; j >=

0; j--

)return head;

}

第三 四周練習 1 3遞增的整數序列鍊錶的插入

本題要求實現乙個函式,在遞增的整數序列鍊錶 帶頭結點 中插入乙個新整數,並保持該序列的有序性。list insert list l,elementtype x 其中list結構定義如下 typedef struct node ptrtonode struct node typedef ptrtono...

第三 四周例行報告

此作業要求參見 型別任務 開始時間 結束時間 中斷時間 delta時間 功能測試 pull大家的 進行功能測試並記錄 10.4 14 09 10.4 15 23 4min 2min 68min 部落格寫部落格 第三次作業 功能測試 10.4 15 47 10.4 16 14 0min 37min 程...

神經網路與深度學習課程筆記(第三 四周)

接著學習吳恩達老師第 三 四周的課程。均來自吳恩達老師課件 1.普通的淺層網路 第0層 輸入層 隱藏層 輸出層 2.淺層網路 單樣本 直觀上理解,輸入層有3個特徵。隱藏層的4個節點實際上都在重複的計算sigmoid,因此每個節點可產生乙個w 1 3 和b 1 1 隱藏層可產生w 1 4 3 b 1 ...