WV 5 動態鍊錶 查詢判斷是否存在

2021-06-28 06:22:55 字數 748 閱讀 7972

問題及**:

/* 

*檔名稱:words.cpp

*作 者:單昕昕

*完成日期:2023年1月17日

*版 本 號:v1.0

* *問題描述:編寫函式,輸出鍊錶中是否有值為x的結點。

*程式輸入:若干正數(以0或乙個負數結束)建立鍊錶。

*程式輸出:所輸入的數和判斷結果。

*/

#include using namespace std;

struct node

;node *head=null; //將煉表頭定義為全域性變數,以便於後面操作

void make_list(); //建立鍊錶

void out_list(); //輸出鍊錶

int main( )

void make_list()

return;

}void out_list()

cout執行結果:

知識點總結:

判斷鍊錶中是否有值為x的結點。

學習心得:

感覺使用者體驗應該不是很好,能再改進改進。

判斷鍊錶是否存在環路

判斷思路 設定兩個指標 slow,fast 初始值都指向頭,slow每次前進一步,fast每次前進兩步,如果鍊錶存在環,則fast必定先進入環,而slow後進入環,兩個指標必定相遇 當然,fast先行頭到尾部為null,則是無環鏈表 typedef struct node lnklst bool i...

單向鍊錶判斷是否存在迴圈

本文由 lonelyrains 方法1 單鏈表判斷是否存在迴圈,即判斷是否有兩個指標指向同一位置,即判斷海量指標中是否有相同資料。然後對所有指標選擇插入排序或者快速排序。方法2 設定兩個指標互相追逐。乙個指標每次前進一步,第二個指標每次前進兩步,如果有相遇,則說明有環。1 方法1演算法效率不高,時間...

如何判斷鍊錶是否存在環?

直接遍歷整個鍊錶,檢視鍊錶是否存在重複結點。如果存在重複結點,則該鍊錶存在環。如果可以更改鍊錶的域,則在其中增加 visit 域,初始值為0。如果訪問過該結點,則將其 visit 域更改為1。在檢視下乙個結點時,首先訪問其 visit 域,如果其域為0,則將其 visit 域更改為1,繼續遍歷 如果...