冒泡排序:依次比较两个相邻的元素,如果顺序错误就把他们交换下位置。直到没有相邻元素需要交换,此时该元素列已经排序完成。
排序方法:升序排列,降序排列
假设我们升序排列
第一次:通过相邻两个元素的比较,会把最大的元素移动到最后边。
第二次:会把第二大的元素移动到最后边的前一位
n个元素会经过n-1次比较,最后就能得到我们想要的排列。
程序结果:
提供代码:
#include<stdio.h>
int main(void){
int arr[] = {1,9,2,3,8,7};//自己随意输入数值
int len = sizeof(arr)/sizeof(arr[0]);//一共有len个元素
int temp;//储存中间变量
for (int i = 0; i < len - 1; i++) //这个时len个元素,比较len-1次
{
for (int j = 0; j < len - 1 - i; j++)//每一次比较的次数
{
if (arr[j] > arr[j + 1])//相邻元素,大值放后面
{
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for (int i = 0; i < len; i++)
printf("%d\t", arr[i]); //打印信息
return 0;
}
总结:
欢迎大家指正!谢谢!