Linear Search - Tìm kiếm tuyến tính trong C++
| Yêu cầu
Cho mảng một chiều n số nguyên và giá trị x cần tìm.
Sử dụng thuật toán tìm kiếm tuyến tính. Viết chương trình giá trị x trong mảng, yêu cầu in ra từng bước thực hiện. Ví dụ:
Sử dụng thuật toán tìm kiếm tuyến tính. Viết chương trình giá trị x trong mảng, yêu cầu in ra từng bước thực hiện. Ví dụ:
| Code
Prototype
void Input(int[], int&);
void Output(int[], int);
void
LinearSearch(int[],int,int);
Hàm nhập
void Input(int A[], int& n)
{
cout << "\nNhap
N: ";
cin >> n;
for (int i = 0;
i < n; i++)
{
cout << "\tNhap
A[" << i << "]=
";
cin >> A[i];
}
}
Hàm xuất
void Output(int A[] , int n)
{
cout << "Xuat
mang:\n";
for (int i = 0;
i < n; i++)
{
cout << "\tA[" << i << "]=
" << A[i] << endl;
}
}
Thuật toán Linear Search
void
LinearSearch(int A[], int n, int x)
{
int i;
int dem = 0;
for (i = 0; i < n; i++)
{
cout << "I
= " << i << ":
A[" << i << "]
= " << A[i] << ",
X = " << x << ".
";
if (A[i] == x)
{
cout << "Giong.
Co X trong mang. Ket thuc." << endl;
//return i;
dem++;
break;
}
else if((A[i] != x)
&& (i < n -1))
{
int t = i +
1;
cout << "Khac.
Xem xet phan tu tiep theo A[" << t << "]" << endl;
dem++;
}
}
if (dem == n-1)
{
cout << "Khac.
Da xet den phan tu cuoi mang. Khong co X trong mang." << endl;
dem++;
//return -1;
}
cout << "So
buoc so sanh " << dem << endl;
}
Main.cpp
#include <iostream>
using namespace std;
#define MAX 100
int main()
{
int A[MAX];
int n, x;
Input(A, n);
Output(A, n);
cout << "\nX
= ";
cin >> x;
LinearSearch(A, n, x);
system("pause");
return 0;
}
Nhận xét
Đăng nhận xét