3 單鏈表內元素的查詢

2021-05-22 10:18:43 字數 877 閱讀 5564

//演算法功能:按序號或按值查詢單鏈表中的元素

//演算法思路:由於單鏈表是非順序儲存結構,元素之間通過指標來描述邏輯結構,因而無法實現隨機訪問,查詢過程只能是

//順鏈掃瞄。若查詢單鏈表中第i個元素,則要從單鏈表的第乙個結點開始,用p做標記指標,j做計數器,順序掃瞄鍊錶。

//當p不為空,而且 j=i 時,指標p所指結點元素即為所要找的第i個元素,用e返回該元素的值。按值查詢則是從單鏈表

//頭結點開始,用p做標記指標,i做計數器,當p不為空,p所指的當前結點元素與e比較,若相等則返回該結點在鍊錶中

//的位置i,否則返回0,表示查詢失敗。

#include #include typedef int status;

#define ok 1;

#define error 0;

//定義鍊錶資料儲存結構

typedef struct lnode

lnode, *linklist;

//列印鍊錶元素

void print_list(linklist l)

printf("/n");

}//逆序輸入資料元素,建立帶頭結點的單鏈表

void creat_list(linklist &l)

}//l是帶頭結點的鍊錶的頭指標,以 e 返回第 i 個元素

status getelem(lnode *l, int i, int &e)

if(!p || j>i)

e = p->data;

return ok;

}//l是帶頭結點的鍊錶,若l中有元素e,返回第乙個匹配元素的位置

int locateelem(linklist l, int e)

return 0;

}int main()

查詢單鏈表中間元素

查詢單鏈表中間元素 include using namespace std struct linknode class linklist linklist void insertvalue int nvalue void reverse void reverse2 linknode findlast...

python 單鏈表查詢元素 在單鏈表中搜尋

執行搜尋以便在鍊錶中找到指定元素的位置。搜尋鍊錶中的任何元素都需要遍歷列表,並將列表的每個元素與指定的元素進行比較。如果元素與任何鍊錶中的元素匹配,則從函式返回元素的位置。演算法第1步 設定ptr head 第2步 設定i 0 第3步 如果ptr null 提示 空列表,沒有什麼可以搜尋 轉到第8步...

3,找出單鏈表的中間元素

問題 找出單鏈表的中間元素 思路 快慢指標。快指標每次走兩步,慢指標每次走1步。快指標走到頭時,慢指標所指即為中間結點。如果結點個數n為偶數,則中間結點為第n 2個結點。linktable.cpp 定義控制台應用程式的入口點。include stdafx.h include include usin...