C语言实现对一个整形数组的冒泡排序

冒泡排序

冒泡排序算法的原理如下:
1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3.针对所有的元素重复以上的步骤,除了最后一个。
4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

数学形式

给定5个整型数字
3,2,10,4,8
2,3,10,4,8
2,3,4,10,8
2,3,4,8,10
第二次循环排列只需要把剩下的四位进行排列
等等进行下去直至排列完成

C语言代码实现

在这里插入代码片
#include<stdio.h>
int main()
{
	int i = 0;
	int a[] = { 3,2,10,4,8 };
	int l = sizeof(a) / sizeof(a[0]);
	int j = 0;
  for (j = 0; j < l - 1; j++)  //整体循环完成全部数字的排列
	{
		for (i = 0; i < l - 1 - j; i++)  //排列一个数字所需要循环的次数 
		{
			if (a[i] >= a[i + 1])     //将较大的数向后交换
			{
				int t = 0;
				t = a[i + 1];
				a[i + 1] = a[i];
				a[i] = t;
			}
		}

	}
	for (i = 0; i < 5; i++)
	{
		printf("%d  ", a[i]);  // 打印结果
	}
	

	return 0;
}
发布了5 篇原创文章 · 获赞 1 · 访问量 76

猜你喜欢

转载自blog.csdn.net/KEVIN_WANG333/article/details/103756490