Kỹ thuật tìm kiếm là việc tìm phần tử khóa (key) trong danh sách các phần tử.
Nếu phần tử cho trước có trong danh sách, tìm kiếm thành công.
Nếu không có, tìm kiếm thất bại.
C cung cấp hai kỹ thuật tìm kiếm chính:
- Tìm kiếm tuyến tính (Linear search)
- Tìm kiếm nhị phân (Binary search)
Tìm kiếm tuyến tính
- Tìm kiếm theo trình tự tuyến tính.
- Kỹ thuật đơn giản nhất.
- Không yêu cầu danh sách đã sắp xếp.
- Hạn chế: tiêu tốn thời gian, giảm hiệu suất hệ thống.
Đầu vào: Danh sách chưa sắp xếp, khóa tìm kiếm.
Đầu ra:
- Thành công – nếu tìm thấy khóa.
- Thất bại – ngược lại.

Ví dụ
Chương trình C tìm kiếm tuyến tính:
#include<stdio.h> int main (){ int a[50], n, i, key, flag = 0; printf("enter the no: of elements"); scanf ("%d",&n); printf("enter the elements:\n"); for (i=0; i<n; i++) scanf( "%d", &a[i]); printf("enter a key element:\n"); scanf ("%d", &key); for (i=0; i<n; i++){ if (a[i] == key){ flag = 1; break; } } if (flag == 1) printf("search is successful:"); else printf("search is unsuccessfull:"); return 0; }
Kết quả
enter the no: of elements5 enter the elements:12 45 13 67 78 enter a key element:67 search is successful: