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