簡單鍊錶及cin。。。

2022-07-31 06:09:12 字數 1260 閱讀 8376

無聊寫了乙個鍊錶。。

listtable

1 typedef struct node

2 inode;78

9 typedef struct list

10 listtable;

1314

15 inode* listsearch(listtable* table,int x)

16 22

2324

void listinsert(listtable* table,int x)

25 34

else

35

40 }

4142

43void listdelete(listtable* table,int x)

44

57 }

5859

void listshow(listtable* table)

60 67 cout <68 }

以下是測試程式:

main

1

int main()

2 11 listshow(lt);

12 cout <

entry the int you wanna delete:

";13 cin.clear();//

important

14 cin >>del;

1516 listdelete(lt,del);

17 listshow(lt);

18 system("

pause

");19

return

0;

20 }

tips:

1、關於while(cin>>)結束迴圈的問題

對於cin這個istream物件來說,當從鍵盤輸入一系列字元並按回車之後,這些字元首先被送到輸入緩衝區,然後cin就會檢測輸入緩衝區中是否有可讀的資料,cin也會檢查是否有流結束標誌ctrl+z和ctrl+d。有兩種檢查方式:阻塞式和非阻塞式。windows下採用ctrl+z,linux下採用ctrl+d。

阻塞式指只有在回車按下之後才檢查,非阻塞式指按下ctrl+d後立即響應。

注意,當資料後面緊接著ctrl+d或ctrl+z,按下回車cin會處理輸入緩衝區資料,而忽略結束流標誌,之後回車後立即輸入結束流標誌才有效。

2、cin.clear()

將流cin中的所有狀態值都重設成有效狀態。

鍊錶 鍊錶劃分 簡單

描述 給定乙個單鏈表和數值x,劃分鍊錶使得所有小於x的節點排在大於等於x的節點之前。你應該保留兩部分內煉表節點原有的相對順序。您在真實的面試中是否遇到過這個題?樣例給定鍊錶 1 4 3 2 5 2 null,並且 x 3 返回 1 2 2 4 3 5 null 題目鏈結 分析 方法一 將所有小於給定...

鍊錶 鍊錶求和 簡單

描述 你有兩個用鍊錶代表的整數,其中每個節點包含乙個數字。數字儲存按照在原來整數中相反的順序,使得第乙個數字位於鍊錶的開頭。寫出乙個函式將兩個整數相加,用鍊錶形式返回和。您在真實的面試中是否遇到過這個題?是 樣例給出兩個鍊錶 3 1 5 null 和 5 9 2 null,返回 8 0 8 null...

順序表及鍊錶

順序表 將表中元素乙個接乙個的存入一組連續的儲存單元中,這種儲存結構是順序結構。利用陣列單元的物理位置上的 優點 儲存空間連續,允許元素隨機訪問 缺點 長度固定,在分配記憶體之前要先確定好陣列長度,致使可能造成空間浪費 單鏈表 用一組任意的儲存單元存放線性表的元素,只包含指向下乙個節點的指標,只能單...