K
Khách

Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.

24 tháng 11 2022

a) Các vòng lặp của thuật toán nổi bọt:

Dãy số ban đầu: 9, 6, 11, 3, 7

Vòng lặp 1: 9, 6, 3, 11, 7 => 9, 3, 6, 11, 7 => 3, 9, 6, 11, 7Vòng lặp 2: 3, 6, 9, 11, 7Vòng lặp 3: 3, 6, 9, 7, 11 => 3, 6, 7, 9, 11

Dãy thẻ số đã được sắp xếp xong là: 3, 6, 7, 9, 11

Các vòng lặp của thuật toán sắp xếp: 

Vòng lặp 1: 3, 6, 9, 11, 7Vòng lặp 2: 3, 6, 7, 11, 9Vòng lặp 3: 3, 6, 7, 9, 11

Dãy thẻ số đã được sắp xếp xong là: 3, 6, 7, 9, 11

b) Các vòng lặp của thuật toán nổi bọt:

Dãy số ban đầu: H, D, A, B, Y.

Vòng lặp 1: H, A, D, B, Y => A, H, D, B, YVòng lặp 2: A, H, B, D, Y => A, B, H, D, YVòng lặp 3: A, B, D, H, Y

Dãy thẻ số đã được sắp xếp xong là: A, B, D, H, Y

Các vòng lặp của thuật toán sắp xếp:

Vòng lặp 1: A, D, H, B, YVòng lặp 2: A, B, H, D, YVòng lặp 3: A, B, D, H, Y

Dãy thẻ số đã được sắp xếp xong là: A, B, D, H, Y

24 tháng 11 2022

tk

13 tháng 12 2023

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
    ll a[]={10,2,5,12,20,6,8,15,18}; //mảng đã cho
    ll n=sizeof(a)/sizeof(a[0]); //độ dài mảng
    sort(a,a+n); //sắp xếp mảng
    //Thuật toán tìm kiếm nhị phân
    ll l=0, r=n-1;
    while(l<=r) {
        ll mid=(l+r)/2; //Tìm phần tử giữa left và right
        if(a[mid]<15) l=mid+1; //Vì từ đoạn [0,mid] thì phần tử nhỏ hơn 15 nên ta duyệt từ khoảng (mid,r]
        else r=mid-1; //vì thấy nên rút r để thu hẹp phạm vi
    }
    cout << l+1; //in ra kq (vì bắt đầu từ 0 đến n-1 nên phải tăng thêm để ra vị trí đúng)
}

(Bạn có thể dựa vào code mình để rút ra các bước)

Chúc bạn học tốt!