Ứng dụng dụng của của Stack Stack

Một phần của tài liệu danh-sach-lien-ket pdf (Trang 131 - 133)

Ứng dụngdụng củacủa StackStack

 StackStack thíchthích hợphợp lưulưu trữtrữ cáccác loạiloại dữdữ liệuliệu màmà trìnhtrình tựtự truytruy

xuất

xuất ngượcngược vớivới trìnhtrình tựtự lưulưu trữtrữ

 MộtMột sốsố ứngứng dụngdụng củacủa StackStack: :

 TrongTrong trìnhtrình biênbiên dịchdịch ( (thơngthơng dịchdịch), ), khikhi thựcthực hiệnhiện cáccác

thủ

thủ tụctục, , StackStack đượcđược sửsử dụngdụng đểđể lưulưu mơimơi trườngtrường củacủa cáccác

thủ

thủ tụctục..

 LưuLưu dữdữ liệuliệu khikhi giảigiải mộtmột sốsố bàibài tốntốn củacủa lýlý thuyếtthuyết đồđồ thị

thị ( (nhưnhư tìmtìm đườngđường điđi))

 KhửKhử đệđệ quiqui

132

Ứng

Ứng dụngdụng củacủa StackStack

Ví dudu::ïï thủthủ tụctục QuickQuick__SortSort dùngdùng StackStack đểđể khửkhử đệđệ quiqui::

 1.1. l l:=1; :=1; rr:=:=nn;;

 2.2. Chọn Chọn phầnphần tửtử giữagiữa xx:=:=aa[([(ll++rr) ) divdiv 2]; 2];

 3.3. Phân Phân hoạchhoạch ( (ll,,rr) ) thànhthành ( (ll1,1,rr1) 1) vàvà ( (ll2,2,rr2) 2) bằngbằng cáchcách xétxét: :  yy thuộcthuộc ( (ll1,1,rr1) 1) nếunếu yy≤≤xx;;

 yy thuộcthuộc ( (ll2,2,rr2) 2) ngượcngược lạilại;;

 4.4. Nếu Nếu phânphân hoạchhoạch ( (ll2,2,rr2) 2) cĩcĩ nhiềunhiều hơnhơn 1 1 phầnphần tửtử thựcthực hiệnhiện: :  CấtCất ( (ll2,2,rr2) 2) vàovào StackStack;;

 NếuNếu ( (ll1,1,rr1) 1) cĩcĩ nhiềunhiều hơnhơn 1 1 phầnphần tửtử thựcthực hiệnhiện: :

 ll==ll1;1;

 rr==rr1;1;

 GotoGoto 2; 2;  NgượcNgược lạilại

 LấyLấy ( (ll,,rr) ) rara khỏikhỏi StackStack nếunếu StackStack kháckhác rỗngrỗng vàvà GotoGoto 2; 2;

Một phần của tài liệu danh-sach-lien-ket pdf (Trang 131 - 133)