1.冒泡排序
//冒泡排序
#include<stdio.h>
int main()
{
int arr[5] = {5,7,3,1,6};
int i,j,t;
bool flag = false; //如果此语句编译报错,可换成 int flag = 0;
int len = sizeof(arr) / sizeof(int); //此句中 len = 20 / 4;
for(i = 0; i < len - 1; i++){
flage = true; //flag = 1;
for(j = 0; j < len - 1 - i; j++){
if(arr[j] > arr[j+1]){
t = arr[j];
arr[j] = arr[j+1];
arr[j+1] = t;
}
flag = false;
}
if(flag == true){
break;
}
}
for(i = 0; i < len; i++){
printf("%d ", arr[i]);
}
return 0;
}
2.选择排序
//选择排序
#include<stdio.h>
int main()
{
int arr[5] = {5,7,3,1,6};
int i,j,t,m;
int len = sizeof(arr) / sizeof(int);
for(i = 0; i < len - 1; i++){
m = i;
for(j = i + 1; j < len; j++){
if(arr[m] > arr[j]){
m = j;
}
}
if(i != m){
t = arr[i];
arr[i] = arr[m];
arr[m] = t;
}
}
for(i = 0; i < len-1; i++){
printf("%d ", arr[i]);
}
return 0;
}