Câu 36. Sử dụng thuật toán sắp xếp nổi bọt, hãy nêu các bước để sắp xếp các số 3, 8, 4, 10 theo thứ tự tăng dần?
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.
THAM KHẢO!
1.Thuật toán sắp xếp chèn (Insertion Sort):
def insertion_sort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i - 1
while j >= 0 and arr[j] > key:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
return arr
A = [5, 8, 1, 0, 10, 4, 3]
sorted_A = insertion_sort(A)
print("Dãy A sau khi sắp xếp chèn:", sorted_A)
2. Thuật toán sắp xếp chọn (Selection Sort):
def selection_sort(arr):
for i in range(len(arr)):
min_idx = i
for j in range(i + 1, len(arr)):
if arr[j] < arr[min_idx]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i]
return arr
A = [5, 8, 1, 0, 10, 4, 3]
sorted_A = selection_sort(A)
print("Dãy A sau khi sắp xếp chọn:", sorted_A)
3.Thuật toán sắp xếp nổi bọt (Bubble Sort):
def bubble_sort(arr):
n = len(arr)
for i in range(n - 1):
for j in range(n - 1 - i):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
return arr
A = [5, 8, 1, 0, 10, 4, 3]
sorted_A = bubble_sort(A)
print("Dãy A sau khi sắp xếp nổi bọt:", sorted_A)
#include <bits/stdc++.h>
using namespace std;
long long a[8],n,i,j;
int main()
{
n=8;
for (i=1; i<=n; i++) cin>>a[i];
for (i=1; i<=n-1; i++)
for (j=i+1; j<=n; j++)
if (a[i]<a[j]) swap(a[i],a[j]);
for (i=1; i<=n; i++) cout<<a[i]<<" ";
return 0;
}
# Đọc dữ liệu từ file muahang.inp
with open('muahang.inp', 'r') as file:
lines = file.readlines()
mat_hangs = []
for line in lines:
data = line.strip().split(',')
ten = data[0]
don_gia = float(data[1])
so_luong = int(data[2])
thanh_tien = don_gia * so_luong
mat_hangs.append((ten, thanh_tien))
# Sắp xếp danh sách các mặt hàng theo thứ tự thành tiền tăng dần
n = len(mat_hangs)
for i in range(n - 1):
for j in range(0, n - i - 1):
if mat_hangs[j][1] > mat_hangs[j + 1][1]:
mat_hangs[j], mat_hangs[j + 1] = mat_hangs[j + 1], mat_hangs[j]
# In danh sách các mặt hàng và thành tiền tương ứng ra màn hình
print("Danh sách các mặt hàng và thành tiền tương ứng:")
for mat_hang in mat_hangs:
print("Tên mặt hàng: ", mat_hang[0])
print("Thành tiền: ", mat_hang[1])
print("-----")
#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!
a) Sắp xếp cột điểm Toán theo thứ tự tăng dần.
- Chọn một ô trong cột điểm Toán
- Nháy chuột vào nút để sắp xếp theo thứ tự tăng dần
b) Lọc bạn có Điểm TB bằng 7.3
- Chọn một ô trong vùng có dữ liệu cần lọc
- Mở bảng chọn Data -> Filter trong nhóm Sort & Filter -> xuất hiện các nút lọc ở cạnh tiêu đề các cột.
- Nháy chuột vào nút lọc cạnh tiêu đề cột Điểm TB chọn tiêu chuẩn lọc là 7.3