Skip to content

Latest commit

 

History

History
38 lines (26 loc) · 855 Bytes

排序.md

File metadata and controls

38 lines (26 loc) · 855 Bytes

选择排序

#include <iostream>

using namespace std;

const int N = 1010;
int a[N];

void sort(int a[], int l, int r)
{
    for(int i = l ; i <= r ; i ++)
        for(int j = i + 1 ; j <= r ; j ++)
            if(a[j] < a[i])
                swap(a[i] , a[j]);
}

int main()
{
    int n , l , r;
    cin >> n >> l >> r;
    
    for(int i = 0 ; i < n ; i ++)
        cin >> a[i];
        
    sort(a , l , r);
    
    for(int i = 0 ; i < n ; i ++)
        cout << a[i] << ' ';
    
    return 0;
}

选择排序较为简单,从第一个元素开始,每次遍历数组,找到当前序列中最小的元素,放到遍历数组的起始点,利用双循环,第一层循环遍历的是需要排序的数,第二层循环是比较当前起点的数与后面数的大小,找到最小元素,放到第二层遍历的起点位置