# include<iostream>
using namespace std;
void Print_arr(int arr[],int len){
for (int i = 0; i < len; i++)
{
cout << arr[i] << " ";
}
cout << endl;
}
int main(){
int arr[] = {4,2,8,0,5,7,1,3,9};
int len = sizeof(arr)/sizeof(arr[0]);
//比较相邻元素,互换位置(取决是升序还是降序)
//相当于一个一个找到最大数
int temp,cnt;
//通过一个额外变量cnt来记录未交换的次数
//当次数达到元素个数时,说明已经完成排序
while (cnt != len)
{
cnt = 0;
for (int i = 0; i < len; i++)
{
temp = arr[i];
if (arr[i] > arr[i+1]){
arr[i] = arr[i+1];
arr[i+1] = temp;
}
else{
cnt++;
}
}
}
//遍历
Print_arr(arr,len);
system("pause");
return 0;
}
通过一个额外变量cnt来记录未交换的次数
当次数达到元素个数时,说明已经完成排序