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