冒泡排序:
首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。
再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
重复第二步,直到所有元素均排序完毕。
就是循环迭代,一轮一轮进行排序,本质上就是将数输入数组之后将相邻的两个数组元素进行比对,看个人要求是大的放在前面还是小的放在前面进行交换。
详细代码:
#include<bits/stdc++.h>
using namespace std;
void maopao(int arr[],int len){
for(int i = 0;i<len-1;i++){ //控制轮数
for(int j = 0;j<len-1-i;j++){ //控制后面的交换所以要减去i
if(arr[j]>arr[j+1]){
int sort = arr[j];
arr[j] = arr[j+1];
arr[j+1] = sort;
}
}
}
}
int main()
{
int arr[] = {1,8,6,5,9,7,4,3,2};
int len = (int) sizeof(arr) / sizeof(arr[0]); //计算数组大小的
maopao(arr,len);
for(int i = 0;i<len;i++){
cout<<arr[i]<<" ";
}
return 0;
}
随手小技巧:c++计算数组大小
int len = (int) sizeof(arr) / sizeof(arr[0]);