以数组元素为{3,5,2,1,4}为例,每次都冒泡“最小的元素”
#include<stdio.h>
#include<stdlib.h>
void Print(int *p,int n)//打印数组
{
for(int i = 0;i < n;i++)
{
printf("%d\t",*(p+i));
if((i+1)%10==0)
{
printf("\n");
}
}
printf("\n");
}
void Init_Array(int *p,int n)
{
for(int i = 0;i < n;i++)
{
*(p+i)=rand()%100 + 1;
}
}
void Swap(int *a,int *b)
{
int temp=*a;
*a=*b;
*b=temp;
}
void Bubble_Sort(int *p,int n)
{
for(int i=0;i<n;i++)
{
for(int j=i+1;j<n;j++)
{
if(*(p+i)>*(p+j))
{
Swap(p+i,p+j);
}
}
}
}
int main()
{
const int n = 100;
int ar[n]={};
Init_Array(ar,n);
printf("排序前:\n");
Print(ar,n);
Bubble_Sort(ar,n);
printf("排序后:\n");
Print(ar,n);
return 0;
}