 สร้างโปรแกรมสำหรับ 'String Matching' โดยใช้ Greedy Algorithm
// โปรแกรมสำหรับการจับคู่สตริงโดยใช้อัลกอริทึมโลภ #include<stdio.h> #include<stdbool.h> // ฟังก์ชันเพื่อค้นหาการจับคู่ระหว่างสตริงที่กำหนดและรูปแบบบูล stringMatching(char string[], char pattern[]) { // คำนวณความยาวของสตริงที่กำหนด int n = strlen(string); //คำนวณความยาวของรูปแบบที่กำหนด int m = strlen(รูปแบบ); // ดัชนีของสตริงและรูปแบบ int i = 0, j = 0; // ลูปโลภเพื่อให้ตรงกับ while(i < n && j < m) { if(string[i] == pattern[j]) { i++; j ++; } // ย้อนกลับหนึ่งตำแหน่งในสตริงอื่น { i = i - j + 1; เจ = 0; } } // ตรวจสอบว่าพบรูปแบบหรือไม่ if(j == m) return true; กลับเป็นเท็จ; } // รหัสไดรเวอร์ int main() { char string[] = "ababcab"; รูปแบบถ่าน[] = "รถแท็กซี่"; ธงบูล = stringMatching (สตริง, รูปแบบ); ถ้า (ธง) printf ("ตรงกับรูปแบบ"); อื่น printf("รูปแบบไม่ตรงกัน"); กลับ 0; }