搜尋單鏈表

2021-09-16 23:19:39 字數 1328 閱讀 3292

搜尋單鏈表

#include#include#includevoid getinput(struct book *book);

void addbook(struct book **library);

void printlibrary(struct book *library);

void printbook(struct book *book);

void releaselibrary(struct book **library);

struct book *searchbook(struct book *library,char *target);

struct book

;void getinput(struct book *book)

void addbook(struct book **library) //採用頭插法,往煉表中插入元素,library作為頭指標,兩層解引用,因為它是指向結構體指標的指標

getinput(book); //獲取插入元素的內容

if(*library != null) //如果插入的不是null鍊錶

else

tail = book;

}void printlibrary(struct book *library)

}struct book *searchbook(struct book *library,char *target)

book = book->next;

} return book;

}void printbook(struct book *book)

void releaselibrary(struct book **library)

}int main(void)

while(ch!='y'&&ch!='n');

if(ch=='y')

else

}printf("\n請問是否需要列印書籍資訊(y/n): ");

do while(ch!='y'&&ch!='n');

if(ch=='y')

else

scanf("%s",input);

book = searchbook(library,input);

if(book==null)

else

while(searchbook(book->next,input)!=null);

} return 0;

}

演示結果:

單鏈表操作之搜尋

鍊錶結構的順序搜尋和遍歷是類似的,因為也必須從第1個節點開始且沿著鍊錶直到遇到哨兵。下面例子可能會遇到兩個哨兵 coding utf 8 class node object def init self,data,next none self.data data self.next next head...

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

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

單鏈表(合併單鏈表)

單鏈表遍歷 單鏈表遍歷是從單鏈表頭指標head開始訪問,沿著next指標所指示的方向依次訪問每乙個結點,且每個結點只能訪問依次,直到最後乙個結點為止。遍歷時注意,不要改變head指標的指向。因此一般設定另外的乙個指標變數如p,p從head開始依次訪問乙個結點,直到鍊錶結束,此時p null,完成依次...