การค้นหารายการข้อมูลเป็นหนึ่งในพื้นฐานที่สำคัญของการเขียนโปรแกรม ซึ่งหนึ่งในวิธีการค้นหาที่ง่ายที่สุดคือ Sequential Search ในภาษา Delphi Object Pascal, วิธีการนี้จะทำการค้นหาข้อมูลโดยการตรวจสอบทีละรายการจนกระทั่งพบข้อมูลที่ต้องการหรือผ่านรายการทั้งหมดโดยไม่พบข้อมูลนั้น
ในบทความนี้ เราจะมาดูตัวอย่างการใช้งาน Sequential Search ในภาษา Delphi Object Pascal โดยมีการอธิบายวิธีการทำงาน และสร้างตัวอย่างโค้ดที่สามารถนำไปประยุกต์ใช้ในโลกจริง พร้อมทั้งพูดถึง usecase ที่มีประโยชน์
ต่อไปนี้คือตัวอย่างโค้ด 3 ตัวอย่างที่ใช้ Sequential Search ใน Delphi:
function SequentialSearch(Target: Integer; DataArray: array of Integer): Integer;
var
i, N: Integer;
begin
N := Length(DataArray);
for i := 0 to N - 1 do
begin
if DataArray[i] = Target then
begin
Result := i; // พบข้อมูล, คืนค่า index
Exit;
end;
end;
Result := -1; // ไม่พบข้อมูล, คืนค่า -1
end;
การทำงานของโค้ดคือ จะทำการวนลูปค้นหาตัวเลขที่ต้องการในอาร์เรย์ หากพบจะคืนค่าด้วย Index ของตำแหน่งที่พบ หากไม่พบคืนค่า -1 เพื่อบ่งบอกว่าการค้นหาไม่สำเร็จ
function FindTextInString(Target: string; InputString: string): Integer;
var
i: Integer;
begin
Result := Pos(Target, InputString); // ใช้ฟังก์ชัน Pos สำหรับการค้นหา
if Result > 0 then
Exit
else
Result := -1;
end;
ฟังก์ชันนี้จะคืนค่าตำแหน่งของข้อความที่ต้องการค้นหาในอินพุทสตริง หากพบข้อความ หากไม่พบข้อความที่ต้องการค้นหาจะคืนค่า -1.
type
TProduct = record
ID: Integer;
Name: string;
Price: Double;
end;
function LookupProduct(ProductID: Integer; ProductsList: array of TProduct): TProduct;
var
i: Integer;
begin
for i := Low(ProductsList) to High(ProductsList) do
begin
if ProductsList[i].ID = ProductID then
begin
Result := ProductsList[i];
Exit;
end;
end;
Result.ID := -1; // ใช้เป็นการบ่งบอกว่าค้นหาไม่พบ
end;
ในตัวอย่างนี้ เรามี record ที่เก็บข้อมูลสินค้า และฟังก์ชัน LookupProduct จะค้นหาผลิตภัณฑ์ในรายการโดยใช้ ID เป็นคีย์ในการค้นหา ถ้าพบจะคืนค่าสินค้านั้น ถ้าไม่พบ ID จะถูกตั้งค่าเป็น -1.
การค้นหาแบบ Sequential อาจไม่เหมาะกับข้อมูลปริมาณมากเพราะจะต้องทำการวนลูปทุกตัว อย่างไรก็ตาม มันยังมีประโยชน์ในสถานการณ์ที่ข้อมูลไม่มากหรือลำดับของข้อมูลไม่สำคัญ เช่น การค้นหาในรายการสินค้า หรือประมวลผลข้อความที่ไม่ยาวมาก
การเรียนรู้การใช้งานการค้นหาแบบต่างๆ เช่น Sequential Search เป็นพื้นฐานที่ดีในการเริ่มต้นเข้าสู่โลกของการเขียนโปรแกรม และที่ EPT, คุณสามารถเรียนรู้การใช้งาน Delphi Object Pascal และหลักการการเขียนโปรแกรมอื่นๆ ได้จากผู้เชี่ยวชาญ ที่พร้อมจะช่วยให้คุณเข้าใจพื้นฐานและเทคนิคขั้นสูงเพื่อให้คุณพร้อมสำหรับการใช้ความรู้เหล่านี้ในโลกการทำงานจริง!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
Tag ที่น่าสนใจ: sequential_search delphi object_pascal programming search_algorithm array string record data_structure programming_basics real-world_usecase
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com