Thuật toán sắp xếp chọn trực tiếp (Selection Sort)

You might also like

You are on page 1of 5

Thuật toán sắp xếp chọn trực tiếp ( Selection Sort )

- Chọn số nhỏ nhất là : 1 và đổi chỗ cho vị trí số 0 là số 12

12 2 8 5 1 6 4 15
1 2 8 5 12 6 4 15
- Chọn số nhỏ nhất là : 2 và đổi chỗ cho vị trí số 1 là số 2

1 2 8 5 12 6 4 15
1 2 8 5 12 6 4 15
- Chọn số nhỏ nhất là : 4 và đổi chỗ cho vị trí số 2 là số 8

1 2 8 5 12 6 4 15
1 2 4 5 12 6 8 15
- Chọn số nhỏ nhất là : 5 và đổi chỗ cho vị trí số 3 là số 5

1 2 4 5 12 6 8 15
1 2 4 5 12 6 8 15
- Chọn số nhỏ nhất là : 6 và đổi chỗ cho vị trí số 4 là số 12

1 2 4 5 12 6 8 15
1 2 4 5 6 12 8 15
- Chọn số nhỏ nhất là : 8 và đổi chỗ cho vị trí số 5 là số 12

1 2 4 5 6 12 8 15
1 2 4 5 6 8 12 15
- Chọn số nhỏ nhất là : 12 và đổi chỗ cho vị trí số 6 là số 12

1 2 4 5 6 8 12 15
1 2 4 5 6 8 12 15
- Hoàn thành :

1 2 4 5 6 8 12 15
CODE :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace NTP
{
internal class Program
{
static void Main(string[] args)
{
int[] arr = new int[10];
int n, i, j, ppp;

Console.Write("Nhap kich co mang : ");


n = Convert.ToInt32(Console.ReadLine());

Console.WriteLine("Nhap {0} phan tu vao trong mang :", n);


for (i = 0; i < n; i++)
{
Console.Write("Phan tu {0} : ", i);
arr[i] = Convert.ToInt32(Console.ReadLine());
}

for (i = 0; i < n; i++)


{
for (j = i + 1; j < n; j++)
{
if (arr[j] < arr[i])
{
ppp = arr[i];
arr[i] = arr[j];
arr[j] = ppp;
}
}
}
Console.Write("Mang sau khi duoc sap xep : ");
for (i = 0; i < n; i++)
{
Console.Write(" {0} ", arr[i]);
}
Console.ReadKey();
}
}
}
DEMO :

You might also like