Với thuật toán sắp xếp bằng tráo đổi (Exchange sort) Thuật toán kết thúc khi
A. i>M
B. M < 2
C. ai > ai+1
D. i > N
Với thuật toán sắp xếp bằng tráo đổi (Exchange sort) i có ý nghĩa gì?
A. Số phần tử cần phải sắp xếp còn lại
B. Biến chỉ số
C. Số lượng phần tử của dãy
D. Giá trị của các phần tử
Với thuật toán sắp xếp bằng tráo đổi (Exchange sort) M có ý nghĩa gì?
A. Số phần tử còn lại cần phải sắp xếp
B. Biến chỉ số
C. Số lượng phần tử của dãy
D. Giá trị của các phần tử
Với thuật toán sắp xếp bằng tráo đổi (Exchange sort). Muốn sắp xếp dãy theo thứ tự không tăng thì cần đổi dấu bước nào sau đây?
A. i>M
B. M<2
C. ai>ai+1
D. i>N
1. Nhập số nguyên dướng N , dãy số A1 , A2 .... , An ;
2. M<--N
3. Nếu M<2 thì đưa ra dãy
4. M<--M-1 ; i<--0
5. i <-- i+1
6. Nếu i>M thì quay lại B3
7. Nếu Ai \(\ge\) Ai+1 thì tráo đổi Ai và Ai+1 cho nhau
8. Quay lại B5
9. Đã sắp xếp rồi kết thúc
THUẬT TOÁN SAU DÙNG ĐỂ GIẢI QUYẾT BÀI TOÁN NÀO ?
A. Sắp xếp dãy số theo chiều giảm dần
B. Sắp xếp dãy số theo chiều tăng dần
C. Tính tổng các số hạng dương của dãy
D. Đếm các số hạng lớn hơn 0 của dãy
Hãy viêt thuật toán sắp xếp N số hạng a 1 , a 2 , . . . . . , a n bằng cách tráo đổi
B.1 : Nhập N và các số hạng a 1 , a 2 , . . . . . , a n ;
B.2 : M ← N ;
B.3 : Nếu M ⟨ 2 thì đưa ra dãy A đã được sắp xếp rồi Kết thúc;
B.4 : M ← M-1 ; i ← 0 ;
B.5 : i ← i - 1 ;
B.6 : Nếu i > M thì quay lại bước 3;
B.7 : Nếu ai > ai+1 thì tráo đổi ai và ai+1 cho nhau;
B.8 : Quay lại bước 5;
hãy phỏng thuật thuật toán sắp xếp tráo đổi với bộ dữ liệu sau n= 10 gồm { -1 5 90 82 -22 20 45 68 1 55}
Mô phỏng thuật toán sắp xếp tráo đổi với dãy
A: 1 - 5 - 4 - 3 - 2 - 1 - 0 - 8 - 6
#include <bits/stdc++.h>
using namespace std;
long long a,b;
int main()
{
cin>>a>>b;
cout<<a<<" "<<b<<endl;
swap(a,b);
cout<<a<<" "<<b;
return 0;
}
Xây dựng thuật toán sắp xếp bằng tráo đổi một dãy số ko tăng.
-Xác định input, output
-Xác định ý tưởng
-Xác định thuật toán
#include <bits/stdc++.h>
using namespace std;
long long a[100],n,i,j;
int main()
{
cin>>n;
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;
}
10 Mô phỏng thuật toán sắp xếp bằng tráo đồi dãy A{N=7}:7,5,4,8,11,9,2