Sắp xếp bằng cách tráo đổi dãy A gồm 4 phần tử: 5,2,4,1,3
Cho dạy B gồm 10 số nguyên tử a1 đến a10 gồm các số hạng 4, 71, 3, 40, 50, 9, 8, 7,1. Hãy sử dụng thuật toán sắp xếp bảng cách tráo đổi để sắp xếp dãy B thành dãy giảm
#include <bits/stdc++.h>
using namespace std;
long long b[10],i,j,n;
int main()
{
n=10;
for (i=1; i<=n; i++)
cin>>b[i];
for (i=1; i<=n-1; i++)
for (j=i+1;j<=n;j++)
if (b[i]<=b[j]) swap(b[i],b[j]);
for (i=1; i<=n; i++)
cout<<b[i]<<" ";
return 0;
}
Cho dãy A gồm các số sau: 4 7 9 1 6 3
Dựa vào thuật toán sắp xếp bằng tráo đổi để được 1 dãy tăng, hãy cho biết dãy thu được sau lần duyệt 1 và duyệt 2?
Cho Dãy A gồmN=8.Dãy A gồm các số nguyênlà : 9 ,11, 3, 25, 1, 18,20, 2.Hãy sử dụng thuật toán sắp xếp tráo đổi( sắp xếp dãy A thành dãy không tăng)
Cách làm: Làm theo thứ tự các bước:
1.Xác định bài toán
2.Ý tưởng
3.Thuật toán( làm 1 trong 2 cách:Liệt kê và sơ đồ khối)
4.Ápdụng làm dãy số trên theo các lần duyệt như trong sách giáo khoa
#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;
}
Cho dãy A gồm các số sau: 4 7 9 1 6 3
Dựa vào thuật toán sắp xếp bằng tráo đổi để được 1 dãy tăng, hãy cho biết sau lần duyệt thứ mấy ta thu được dãy A tăng: 1 3 4 6 7 9
A.3
b.4
c.6
d.5
Cho dãy A gồm N phần tử a1,a2,a3....(N nhỏ hơn hoặc bằng 100).hãy lập chương trình A,Tráo đổi phần tử đầu và cuối.mn giúp mk vs
#include <bits/stdc++.h>
using namespace std;
long long a[100],i,n;
int main()
{
cin>>n;
for (i=1; i<=n; i++) cin>>a[i];
swap(a[1],a[n]);
for (i=1; i<=n; i++) cout<<a[i]<<" ";
return 0;
}
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
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;
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