原理:
冒泡排序是一个常见的排序算法,它的基本原理为遍历整个排序数列的每一个值,依次比较相邻的值,如果没有达到预期的排序效果就交换位置,使最终遍历结束时,需要被排序的数列达到预期效果。
实现思路:
将一个数组通过一个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]); } }
发表评论