C/C++教程

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 有问题大家可以一起交流沟通!

这篇关于C语言排序篇:冒泡排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!