冒泡排序法详细讲解

大家好,今天我们来学习C语言中的冒泡排序法,在C语言中我们常常会有一个烦恼,那就是给你一个数组,里面存储了n个数字,要求你给它排序,在这个时候有许多小伙伴也许就比较苦恼了,我们怎样才能很快的将它排序呢,这就是我们今天要学习的内容冒泡排序法。

冒泡排序法

1.首先我们给一组乱序的数字给到数组里。

int arr[10] = {
    
     25,35,68,79,21,13,98,7,16,62 };
	int i = 0;
	int j = 0;
	int t;

2.接下来我们分析排序,一开始我们有十个数字,拿第一个元素和后面的比较要比较九次,九次比较完排序之后轮到下一个对接下来的数字进行比较和排序,因为第一个数在第一轮比较中就已经和这个数比较过了,所以这个数这一轮只要与其他的八个数进行比较和排序,后面的数字以此类推。所以这里用循环嵌套,第一个循环表示要比较的轮数,第二个循环表示要比较的次数。
在这里插入图片描述
接下来看到代码:

#include<stdio.h>
int main()
{
    
    
	int arr[10] = {
    
     25,35,68,79,21,13,98,7,16,62 };
	int i = 0;
	int j = 0;
	int t;
	for (i = 0; i < 9; i++)
	{
    
    
		for(j=0;j<9-1-i;j++)
			if (arr[j] > arr[j + 1])
			{
    
    
				t = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = t;
			}
	}
	

3.最后在用一个循环把数组打印出来。

for (i = 0; i < 10; i++)
		printf("%d ", arr[i]);
	return 0;
}

最后在看下完整的代码和运行结果。

#include<stdio.h>
int main()
{
    
    
	int arr[10] = {
    
     25,35,68,79,21,13,98,7,16,62 };
	int i = 0;
	int j = 0;
	int t;
	for (i = 0; i < 9; i++)
	{
    
    
		for (j = 0; j < 10 - 1 - i; j++)
			if (arr[j] > arr[j + 1])
			{
    
    
				t = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = t;
			}
	}
	for (i = 0; i < 10; i++)
		printf("%d ", arr[i]);
	return 0;
}

在这里插入图片描述
好了,今天的分享就到这里,谢谢大家。

猜你喜欢

转载自blog.csdn.net/Lehjy/article/details/132266676