搜尋單鏈表
#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,完成依次...