Với giải Vận dụng trang 130 Tin học 11 Cánh diều chi tiết trong Bài 9: Lập trình thuật toán sắp xếp nhanh giúp học sinh dễ dàng xem và so sánh lời giải, từ đó biết cách làm bài tập Tin học 11. Mời các bạn đón xem:
Em hãy thực hiện các công việc sau: a) Sửa lại thủ tục phân đoạn đề có hàm
Vận dụng trang 130 Tin học 11: Em hãy thực hiện các công việc sau:
a) Sửa lại thủ tục phân đoạn đề có hàm quickSort_ down sắp xếp theo thứ tự giảm dần.
Gợi ý. Sửa đối phép so sánh trong câu lệnh 1f a[3] <= pivot: thành 1f a[3]} >= pivot:
b) Tiếp tục sửa lại để có hàm quickSort_tuple down sắp xếp danh sách các cặp. ví dụ (tên học sinh, điểm môn học) theo điệm môn học giảm dần.
Gợi ý: Sửa đổi đầu vào thành danh sách các cặp (tên học sinh, điểm môn học) và thực hiện so sánh theo điểm môn học.
Lời giải:
a)Gợi ý
void swap(int *a,int *b){
int temp=*a;
*a=*b;
*b=temp;
}
void bubblesort(int arr[],int n){
for(int i=0; i<n-1; i++){
for(int j=0; j<n-i-1; j++){
if(arr[j]>arr[j+1]){
swap(&arr[j],&arr[j+1]);
}
}
}
}
b) Gợi ý
void quickSort(int a[], int l, int r){
int p = a[(l+r)/2];
int i = l, j = r;
while (i < j){
while (a[i] < p){
i++;
}
while (a[j] > p){
j--;
}
if (i <= j){
int temp = a[i];
a[i] = a[j];
a[j] = temp;
i++;
j--;
}
}
if (i < r){
quickSort(a, i, r);
}
if (l < j){
quickSort(a, l, j);
}
}
Xem thêm các bài giải Tin học 11 Cánh diều hay, chi tiết khác:
Hoạt động trang 128 Tin học 11: Em hãy cho biết lược đồ phân đoạn Lomuto theo mã giả cho trong....
Nhiệm vụ 2 trang 130 Tin học 11: Bổ sung thêm các câu lệnh in kết quả trung gian vào các chương....
Vận dụng trang 130 Tin học 11: Em hãy thực hiện các công việc sau:
Câu 2 trang 130 Tin học 11: Theo em thì diễn biến từng bước sắp xếp nhanh một dãy số cụ thể dùng....
Xem thêm các bài giải Tin học 11 Cánh diều hay, chi tiết khác:
Bài 7: Lập trình giải bài toán tìm kiếm
Bài 8: Lập trình một số thuật toán sắp xếp
Bài 10: Thiết kế chương trình từ trên xuống và phương pháp mô đun hoá
Bài 11: Thực hành thiết kế và lập trình theo mo đun
Bài 12: Thực hành thiết kế và lập trình theo mo đun (tiếp theo)
CÔNG TY TNHH ĐẦU TƯ VÀ DỊCH VỤ GIÁO DỤC VIETJACK
- Người đại diện: Nguyễn Thanh Tuyền
- Số giấy chứng nhận đăng ký kinh doanh: 0108307822, ngày cấp: 04/06/2018, nơi cấp: Sở Kế hoạch và Đầu tư thành phố Hà Nội.
2021 © All Rights Reserved.