分析:冒泡法排序的过程是:设有M个元素,要求从小到大排序。每次从首元素开始两两比较,即arr[j]和arr[j+1]比较,若arr[j]大于arr[j+1]则两元素交换,否则不交换,这样每一轮比较后都可得到“大数沉底,小数上浮一个位置”的结果,也就是说第一轮排好数组最后一个元素,第二轮排好数组最后两个元素。。。
经过M-1轮比较后排序结束。
代码实现如下:
#include<stdio.h>
#define M 10 //定义一个宏M ,大小为10
void date_big(int arr[],int n)
{
int i,j,k,tmp,flag;
for(i=0;i<n-1;i++)
{
flag=1; //设交换标志,flag为1表示未交换
k=i;
for(j=i+1;j<n;j++)
{
if(arr[j]<arr[k])
{
flag=0;
k=j;