演算法作業 5 2017 3 7第三週

2021-07-28 01:26:09 字數 501 閱讀 6388

解析:題目要求很簡單 ,反轉乙個單鏈表。乙個比較簡單的思路就是頭插法,依次去下鍊錶,然後插入到新鍊錶的頭結點的下乙個。由於題目沒有定義頭結點,為了操作方便,定義兩個空頭結點指向鍊錶。只需要遍歷一次鍊錶,所以時間複雜度為o(n)

**如下:

/**

* definition for singly-linked list.

* struct listnode

* };

*/class solution

if(head->next==null)

listnode *h = new listnode(0);

listnode *newh = new listnode(0);

h->next=head;

listnode *p = head;

while(p!=null)

head = newh->next;

return head;

}};

第三週作業

實驗作業 1.輸入課本各個例題,除錯執行程式,並分析程式,將每乙個程式改寫2到3個版本,自己分析程式結果,然後再除錯執行,核對分析結果的對錯。2.編寫程式輸入乙個三角形的三條邊,計算其面積和周長 3.編寫程式計算並輸出課本本章習題3表示式的值並分析結果。4.編寫乙個程式,輸入乙個一元二次方程的三個係...

第三週作業

要求 1.輸入課本各個例題,除錯執行程式,並分析程式,將每乙個程式改寫2到3個版本,自己分析程式結果,然後再除錯執行,核對分析結果的對錯。2.編寫程式輸入乙個三角形的三條邊,計算其面積和周長 3.編寫程式計算並輸出課本本章習題3表示式的值並分析結果。4.編寫乙個程式,輸入乙個一元二次方程的三個係數,...

第三週作業

第一題 輸入課本各個例題,除錯執行程式,並分析程式。例1 include using namespace std int main 例8 includeusing namespace std int main else cout this is not a endl return 0 第三題 編寫程...