其他分享
首页 > 其他分享> > C语言排序篇:冒泡排序

C语言排序篇:冒泡排序

作者:互联网

基本思想,向气球冒泡泡一样,每次比较相邻两个数,如果a[i]大于a[i+1],则交换,负责继续比较。这样每一轮比较过后大一点的数据都到了最后一位。每次比较一轮都减少一个数据,减少的数据为这一轮比较的最大的数,放到了最后。

Ø 设置标志位减少程序运行
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define _number 10
void Swap(int *_Data1, int *_Data2);
void Bubble_Sort(int Data[], int num);
int main()
{
	int Arrayname[10] = { 1,8,33,676,22,8321,63,34,99,100 };
	int variables;
	Bubble_Sort(Arrayname, _number);
	printf("冒泡排序之后为:\n");
	for (variables = 0; variables < _number; variables++)
	{
		printf("%-5d", Arrayname[variables]);
	}
	printf("\n");

	return 0;
}

void Swap(int *_Data1, int *_Data2)
{
	int contextData;
	contextData = *_Data1;
	*_Data1 = *_Data2;
	*_Data2 = contextData;

}

void Bubble_Sort(int Data[], int num)
{
	int Bubble_sort[_number];
	int i, j;
	int flag;
	for (i = 0; i < _number - 1; i++)
	{
		flag = 1;
		for (j = 0; j < _number - i - 1; j++)
		{
			if (Data[j] > Data[j + 1])
			{
				Swap(&Data[j], &Data[j + 1]);
				flag = 0;
			}
		}
		if (flag)
			break;
	}
}

如果对您的问题有帮助的话可以帮忙点个赞,谢谢~QQ群:540093471 有问题大家可以一起交流沟通!

标签:int,Data1,variables,number,冒泡排序,C语言,排序,Data,Data2
来源: https://blog.csdn.net/weixin_42362528/article/details/123423154