核心思想:就如同两个杯子装有不同的饮料,如果想要杯子里面的饮料交换一下,就再准备一个杯子,放在代码中就是定义一个temp变量,用来存放比较过的元素。
具体代码实现就是两个嵌套for循环,外层控制总共要比较的轮数,内层控制各个轮次的数字比较,如果arr【j】>arr[j+1]就交换。
#include <iostream>
using namespace std;
//冒泡排序
void sort(int * arr,int len){
for(int i =0;i<=len;i++){
for(int j =0;j<=len-i-1;j++){
if(arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
//用来将拍好序的数组输出的方法。
void ArrPrint(int * arr,int len){
for(int i=0;i<=len;i++){
cout<< arr[i]<<endl;
}
}
//主函数,创建数组,和数组长度变量,用来传入方法构造器
int main(){
int arr[10] ={4,5,2,1,9,8,7,6,3,0};
int len = sizeof(arr) / sizeof (arr[0]);
sort(arr,len);
ArrPrint(arr,len);
}