C语言冒泡排序

Posted DQ_CODING

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言冒泡排序相关的知识,希望对你有一定的参考价值。

基本介绍

分析过程

每一轮将第几大地排到合适的位置
相邻的两个元素进行比较,看是否需要交换位置

代码演变

1.每一轮的交换

2.使用一个for循环将其包裹

完整过程


#include<stdio.h>
//冒泡排序的函数
void bubble(int arr[],int len)
{
	int i,j,temp=0;
	//外层循环
	for(i=0;i<len-1;i++)
	{
		//内层循环
		for(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;
			}
		}
	}
}



int main()
{


	int arr[]={1,23,456,67,567,467,678543,-4};
	int i,j,len=sizeof(arr)/sizeof(int);
	for(i=0;i<len;i++)
	{
		printf("%d\\t",arr[i]);
	}
	printf("\\n");

	bubble(arr,len);//数组默认是地址传递(指针)

	for(j=0;j<len;j++)
	{
		printf("%d\\t",arr[j]);
	}
	printf("\\n");

	getchar();
	return 0;
}

以上是关于C语言冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章

c语言冒泡排序法代码一直排序错误,有时只能排前两个,不明白原因,请问究竟哪里写错了,谢谢!

c语言冒泡排序最终结果错误

冒泡排序C语言

C语言——如何有效记忆冒泡排序法?

c++冒泡排序法

冒泡排序法