#include <iostream>
using namespace std;
void select_sort(int a[],int length){
for(int i = 0;i<=length-1;i++){
for(int j = i+1;j<=length-1;j++){
if(a[j] < a[i]) {
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
int main(void) {
int a[5] = {4,5,1,3,2};
int length = sizeof(a)/sizeof(int);
select_sort(a,length);
for(int i = 0;i<length;i++){
cout << a[i] << ' ';
}
}
把第一个数与后面的数字进行比较,如果第一个数字大于后面的一个数,就把他们进行交换,这样可以一次一次地把数字放到正确的位置
再来一个实例:
#include <iostream>
using namespace std;
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]){
int temp = a[j];
a[j] = a[i];
a[i] = temp;
}
}
}
}
int main(void) {
int a[1000];
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] <<' ';
}
}