C语言冒泡排序。

#include<stdio.h>
void bubble_sort(int* arr,int sz)
{
    
    
	int i = 0;
	for ( i = 0; i < sz-1; i++)
	{
    
    
		int flag = 1;//设置标志
		for (int j = 0; j < sz - 1 - i; j++)
		{
    
    
			if (arr[j] > arr[j + 1])
			{
    
    
				int tmp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = tmp;
				flag = 0;//若交换过元素,则将flag=0;
			}
		}
		if (flag == 1)//若未交换过元素,说明已有序,跳出循环;
		{
    
    
			break;
		}
	}
}
int main() {
    
    
	int arr[] = {
    
     1,2,5,8,6,3,4,7,9 };
	int sz = sizeof(arr) / sizeof(arr[0]);
	bubble_sort(arr,sz);
	for (int i = 0; i < sz; i++)
	{
    
    
		printf("%d ", arr[i]);
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_45275802/article/details/112432810
今日推荐