原理:
冒泡排序是一个常见的排序算法,它的基本原理为遍历整个排序数列的每一个值,依次比较相邻的值,如果没有达到预期的排序效果就交换位置,使最终遍历结束时,需要被排序的数列达到预期效果。
实现思路:
将一个数组通过一个for循环,在每一次循环中都将所有的值都与相邻值作比较,如果未达到预期效果则将其交换位置。
实现代码:
#include "stdafx.h"
void MaoPao(int arry[],int n){ //n为数组的内容数量
for(int i=0;i<n-1;i++){ //外层循环是表示我们排序多少次,我们实际只需要排n-1次即可
for(int j=0;j<n-1-i;j++){ //内存循环表示当其他的排成序后,我们只需要对后面的进行排序,因此j<n-1-i
if(arry[j]>arry[j+1]){ //如果与预期不符合,则替换位置
int temp=arry[j];
arry[j]=arry[j+1];
arry[j+1]=temp;
}
}
}
}
int main()
{
int arry[] = { 2,3,5,4,6,8,9,7,1,0 };
int n = sizeof(arry) / sizeof(arry[0]); //计算出数组长度
MaoPao(arry,n);
for (int i = 0; i < n; i++)//遍历
{
printf("%d ", arry[i]);
}
}
朱岩松博客







发表评论