«

95~96、 2道题 利用数组实现选择排序&习题

点亮灯 发布于 阅读:58 C++


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]<<' ' ;
}

}