You are on page 1of 2

BÀI TẬP 3

Cài đặt các thuật toán sắp xếp trên Cấu trúc dữ liệu mảng một chiều

Nội dung Hướng dẫn


Yêu cầu 1: (Tiếp theo Bài 2 Định nghĩa các phương thức trong class IntArray
– BaiTap2). Bổ sung vào public void HoanVi(ref int a, ref int b)
{
lớp IntArray thêm các chức int tam = a;
năng sau: a = b;
1. Sắp xếp giá trị mảng b = tam;
}
tăng dần bằng các public void InterchangeSort()
phương pháp: {
- Interchange Sort int n = arr.Length;
for (int i = 0; i < n; i++)
- Bubble Sort {
- Selection Sort for (int j = i + 1; j < n; j++)
- Insertion Sort {
if(arr[i]>arr[j])
- Quick Sort {
- (*) Shell Sort HoanVi(ref arr[i], ref arr[j]);
- (*) Shaker Sort }
}
- (*) Merge Sort }
}
(Tối thiểu thực hiện tại lớp - public void InsertionSort() { }
5 phương pháp đầu, những - public void BubbleSort() { }
phương pháp còn lại làm - public void SelectionSort() { }
- public void QuickSort(int left, int right) { }
bổ sung ở nhà) - public void ShellSort() { }
2. (*) Minh họa quá trình - public void ShakerSort() { }
sắp xếp của các phương - public void MergeSort() { }

pháp. Việc minh họa bao


gồm: thể hiện quá trình
sắp xếp từng bước và
tính số phép gán hoặc
hoán vị giá trị các phần
tử
Kiểm tra từng phương thức sắp xếp trong Main()
Yêu cầu 2: Chương trình class Program
thực hiện theo yêu cầu {
static void TestInterchangeSort(IntArray obj)
sau: {
1. Tạo đối tượng mảng //Copy ojb sang objTam để sắp xếp
objA gồm k giá trị ngẫu IntArray objTam = new IntArray(obj);
Console.WriteLine("\n>>Mang ban dau:");
nhiên (k nhập từ bàn objTam.Xuat();
phím) objTam.InterchangeSort();
2. Lần lượt kiểm tra các Console.WriteLine("\n>>Interchange Sort:");
objTam.Xuat();
phương pháp sắp xếp
2/5
trên objA }
static void TestInsertionSort(IntArray obj)
(*) Dùng phương thức minh {
//Copy ojb sang objTam để sắp xếp
họa quá trình sắp xếp để so IntArray objTam = new IntArray(obj);
sánh hiệu quả sắp xếp của Console.WriteLine("\n>>Mang ban dau:");
các phương pháp objTam.Xuat();
objTam.InsertionSort();
Console.WriteLine("\n>>Insertion Sort:");
objTam.Xuat();
}
//Test những phương pháp sắp xếp khác
static void Main(string[] args)
{
IntArray obj = new IntArray(10);
TestInterchangeSort(obj);
TestInsertionSort(obj);
//Tương tự cho những phương pháp khác
}
}

Yêu cầu 3: Bổ sung Bài 1


(BaiTap1). Bổ sung thêm
yêu cầu để sắp xếp danh
sách sinh viên theo thứ tự
tăng dần của họ tên sinh
viên theo phương pháp chọn
trực tiếp

2/5

You might also like