Kỹ thuật đặt lính canh được sử dụng rất là nhiều nhưng đôi khi các bạn lại không hề biết đó chính là kỹ thuật này, vì thế trong bài này tôi sẽ đề cập đến kỹ thuật này hy vọng các bạn biết và lỡ ai hỏi thì biết để trả lời nhé
1. Kỹ thuật đặt lính canh là gì?
Chúng ta sẽ phân tích một ví dụ trong thực tế như sau.
Ví dụ 1: Tôi muốn tìm người cao nhất trong lớp học
Giải pháp của tôi như sau, trước tiên chọn một bạn làm mẫu rồi lần lượt so sánh với các bạn còn lại, nếu bạn nào cao hơn thì đổi chỗ cho bạn làm mẫu đó và người bạn cao hơn, lúc này người bạn cao hơn sẽ đứng làm mẫu. Và cứ như vậy cho đến hết, kết quả là người làm mẫu cuối cùng để canh chính là người cao nhất. Ta gọi đây là kỹ thuật đặt lính canh.
Ví dụ 2: Dùng kỹ thuật đặt lính canh tìm giá trị lớn nhất của 3 số $avà $b và $c.
Cách giải như sau: Khởi tạo một biến $max để chứa giá trị lớn nhất.
Bước 1: Giả sử biến lớn nhất là biến $a, tức là ta gán $max = $a;
Bước 2: So sánh biến $max với $b, nếu $b lớn hơn $max thì ta gán$max = b;
Bước 3: So sánh biến $max với $c, nếu $c lớn hơn$max thì ta gán $max = c;
Cuối cùng biến $max chứa giá trị lớn nhất. Sau đây là hàm tìm giá trị lớn nhất:
| 1 2 3 4 5 6 7 8 9 10 11 | functiontim_max($a, $b, $c){    $max= $a;    if($max< $b){        $max= $b;    }    if($max< $c){        $max= $c;    }    return$max;} | 
2. Khi nào nên sử dụng kỹ thuật đặt lính canh
Kỹ thuật đặt lính canh dùng khi bạn muốn duyệt qua danh sách và chọn một phần tử có đặc điểm đặc biệt nào đó.
Kỹ thuật này hay dùng để tìm min max, giá trị lớn nhất, nhỏ nhất, số nguyên tố lớn nhất, số nguyên tố nhỏ nhất … của một mảng danh sách.
Đó là các ví dụ thôi chứ không phải là tất cả trường hợp, nếu bạn dùng quen rồi thì sẽ biết lúc nào dùng đến.
3. Lời kết
Kết thúc bài này tôi hy vọng bạn hiểu được định nghĩa thế nào là kỹ thuật đặt lính canh là quá được rồi. Thực tế thì khi làm web bạn sẽ phải sư dụng kỹ thuật này khá nhiều đấy. Chúc các bạn thành công.
Theo:freetuts.net
 
                                       


 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
															
							 
                             
             
            
 Vietnamese
 Vietnamese Afrikaans
 Afrikaans Albanian
 Albanian Amharic
 Amharic Arabic
 Arabic Armenian
 Armenian Azerbaijani
 Azerbaijani Basque
 Basque Belarusian
 Belarusian Bengali
 Bengali Bosnian
 Bosnian Bulgarian
 Bulgarian Catalan
 Catalan Cebuano
 Cebuano Chichewa
 Chichewa Chinese (Simplified)
 Chinese (Simplified) Chinese (Traditional)
 Chinese (Traditional) Corsican
 Corsican Croatian
 Croatian Czech
 Czech Danish
 Danish Dutch
 Dutch English
 English Esperanto
 Esperanto Estonian
 Estonian Filipino
 Filipino Finnish
 Finnish French
 French Frisian
 Frisian Galician
 Galician Haitian Creole
 Haitian Creole Georgian
 Georgian German
 German Greek
 Greek Gujarati
 Gujarati Hausa
 Hausa Hawaiian
 Hawaiian Hebrew
 Hebrew Hindi
 Hindi Hmong
 Hmong Hungarian
 Hungarian Icelandic
 Icelandic Igbo
 Igbo Indonesian
 Indonesian Irish
 Irish Italian
 Italian Japanese
 Japanese Javanese
 Javanese Kannada
 Kannada Kazakh
 Kazakh Khmer
 Khmer Korean
 Korean Kurdish (Kurmanji)
 Kurdish (Kurmanji) Kyrgyz
 Kyrgyz Lao
 Lao Latin
 Latin Latvian
 Latvian Lithuanian
 Lithuanian Luxembourgish
 Luxembourgish Macedonian
 Macedonian Malagasy
 Malagasy Malay
 Malay Malayalam
 Malayalam Maltese
 Maltese Maori
 Maori Marathi
 Marathi Mongolian
 Mongolian Myanmar (Burmese)
 Myanmar (Burmese) Nepali
 Nepali Norwegian
 Norwegian Pashto
 Pashto Persian
 Persian Polish
 Polish Portuguese
 Portuguese Punjabi
 Punjabi Romanian
 Romanian Russian
 Russian Samoan
 Samoan Scottish Gaelic
 Scottish Gaelic Sinhala
 Sinhala Serbian
 Serbian Sesotho
 Sesotho Shona
 Shona Sindhi
 Sindhi Slovenian
 Slovenian Slovak
 Slovak Somali
 Somali Spanish
 Spanish Sundanese
 Sundanese Swahili
 Swahili Swedish
 Swedish Tajik
 Tajik Tamil
 Tamil Telugu
 Telugu Thai
 Thai Turkish
 Turkish Ukrainian
 Ukrainian Urdu
 Urdu Uzbek
 Uzbek Welsh
 Welsh Xhosa
 Xhosa Yiddish
 Yiddish Yoruba
 Yoruba Zulu
 Zulu