You are on page 1of 3

- Hàm hoán vị

#include <stdio.h>
#define _CRT_SECURE_NO_WARNINGS

int main() {
int x, y, templ;
printf("\nNhap x: ");
scanf_s("%d", &x);
printf("\nNhap y: ");
scanf_s("%d", &y);
templ = x;
x = y;
y = templ;
printf("\nx = %d\ny = %d",x, y);
}

- Hàm tìm kiếm tuyến tính LinearSearch


#include <stdio.h>
#include <conio.h>
#define Max 10
#define _CRT_SECURE_NO_WARNINGS

void NhapMang(int a[], int& n)


{
printf("Cho biet so phan tu cua mang: ");
scanf_s("%d", &n);
for (int i = 0; i < n; i++)
{
printf("Gia tri phan tu a[%d]=", i);
scanf_s("%d", &a[i]);
}
}
void XuatMang(int a[], int n)
{
for (int i = 0; i < n; i++)
printf("%4d", a[i]);
}
int LinearSearch(int a[], int n, int x)
{
for (int i = 0; i < n; i++)
if (a[i] == x)
return 1;
return 0;
}
void main()
{
int A[Max];
int N;
int X;
NhapMang(A, N);
printf("Nhap phan tu can tim ");
scanf_s("%d", &X);
int b = LinearSearch(A, N, X);
if (b == 1)
printf("%d co trong mang ", X);
else
{
printf("%d khong co trong mang ", X);
}
_getch();
}

- Hàm tìm kiếm nhị phân BinarySearch


#include <stdio.h>
#include <conio.h>
#define _CRT_SECURE_NO_WARNINGS
#define N 10

void nhapmang(int arr[])


{
int i;
for (i = 0; i < N; i++) {
scanf_s("%d", &arr[i]);
}
}

void xuatmang(const int arr[])


{
int i;
for (i = 0; i < N; i++) {
printf("%5d", arr[i]);
}
}

void sapxep(int arr[]) {


int i, j;
for (i = 0; i < N - 1; i++) {
for (j = N - 1; j > i; j--) {
if (arr[j] < arr[j - 1]) {
int tmp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = tmp;
}
}
}
}

int binarySearch(int arr[], int x) {


int left = 0, right = N - 1;
while (left <= right) {
int mid = (left + right) / 2;
if (arr[mid] == x)
return 1;
else if (arr[mid] < x)
left = mid + 1;
else right = mid - 1;
}
return 0;
}

int main() {

int arr[N];
nhapmang(arr);
sapxep(arr);
xuatmang(arr);
int x;
while (1) {
printf("\nNhap x= ");
scanf_s("%d", &x);
if (x == -1) break;
if (binarySearch(arr, x))
printf("\nTim thay x.");
else printf("\nKhong tim thay x.");
}

return 0;
}

- Hàm sắp xếp đổi chỗ trực tiếp InterchangeSort


#include <stdio.h>
#include <conio.h>
#define _CRT_SECURE_NO_WARNINGS
#define MAX 100

void NhapMang(int a[], int &n)


{
printf("Cho biet so phan tu cua mang: ");
scanf_s("%d", &n);
for (int i = 0; i < n; i++)
{
printf("Gia tri phan tu a[%d]=", i);
scanf_s("%d", &a[i]);
}
}

void XuatMang(int a[], int n)


{
for (int i = 0; i < n; i++)
printf("%4d", a[i]);
}

void swap(int& a, int& b)


{
int x = a;
a = b;
b = x;
}
void Sapxep(int a[], int n)
{
for (int i = 0; i < n - 1; i++)
for (int j = i + 1; j < n; j++)
if (a[i] > a[j])
swap(a[i], a[j]);
}

void main()
{
int n;
int a[MAX];
NhapMang(a, n);
Sapxep(a, n);
XuatMang(a, n);
_getch();
}

You might also like