95~96、 2道题 利用数组实现选择排序&习题
1,请编程实现数组的选择排序(从小到大),然后倒序放置,实现数组中的数据从大到小排列,最后进行输出。
//请编程直接实现数组(从大到小)
#include<iostream>
using namespace std;
int main() {
int a[5];
int b,c ;
int n = sizeof a / sizeof a[1];
for (int i = 0; i < n ; i++) {
cin >> a[i];
}
for (int i=0; i < n - 1; i++) {
b = i;
for (int j=i+1; j<n;j++) {
if (a[j] < a[b]) {
b = j;
}
}
c = a[i];
a[i] = a[b];
a[b] = c;
}
for (int i = 0; i < n; i++) {
c = a[i];
b = a[n - 1 - i];
a[i] = b;
a[n - 1 - i] = c;
}
for (int i = 0; i < n ; i++) {
cout << a[i]<<'\t';
}
cout << endl;
system("pause");//卡屏函数
return 0;
}
2,请编程直接实现数组的选择排序(从大到小)
#include<iostream>
using namespace std;
int main(){
int a[5]{123,2544,5798,11111,1} ;
int n;
int b,c;
n=sizeof(a)/sizeof(a[0]);
for(int i=0;i<n-1;i++){
b=i ;
for(int j=i+1;j<n;j++){
if(a[j]>a[b]){
b=j;
}
}
c=a[i];
a[i]=a[b];
a[b]=c;
}
for(int i=0;i<n;i++)
{
cout<<a[i]<<' ' ;
}
}