冒泡排序的原理是:从左到右,相邻元素进行比较。每次比较一轮,就会找到序列中最大的一个或最小的一个。这个数就会从序列的最右边冒出来。
? ? ?如果前一位的数字大于后一位的,那么这两个数字交换位置,因此,最大的数字在第一轮循环中不断像一个气泡一样向上冒,在第一轮循环结束后排在最后一个(最右边),接着进行下一轮循环
五个数字比较四轮
//假设进行升序排
#include<stdio.h>
int main()
{
?? ?int arr[] = { 9,8,7,4,5,6,1,2,3,0 };????????//数组中有10个元素
?? ?for (int i = 0; i < 9; i++)
?? ?{
?? ??? ?for (int j = 0; j < 9-i; j++)
?? ??? ?{
?? ??? ??? ?if (arr[j] > arr[j + 1])????????????????//满足条件进行交换
?? ??? ??? ?{
?? ??? ??? ??? ?int temp = arr[j];
?? ??? ??? ??? ?arr[j] = arr[j + 1];
?? ??? ??? ??? ?arr[j + 1] = temp;
?? ??? ??? ?}
?? ??? ?}
?? ?}
?? ?for (int i = 0; i < 10; i++)? ?????????//打印数组,检验排序结果? ? ? ? ? ? ? ? ? ? ? ? //两个for并列
?? ?{
?? ??? ?printf("%d ?", arr[i]);
?? ?}
?? ?return 0;
}