/*只是对数组进行排序
先是找到最大的数*/
#include <stdio.h>
int main()
{
int a[] ={12,54,21,48,16,31,48,13,68,46,17};
int len =sizeof(a)/sizeof(a[0]);
for (int i=len-1;i>0;i--)
{
int maxid = max(a,i+1);//找最大值
int t = a[maxid]; //开始交换最大值,并将最大值放置最后一项
a[maxid] = a[i];
a[i] = t;
}
for (int i = 0; i<len; i++ )
{
printf("%d ",a[i]);
}
return 0;
}
//找最大的那一项
int max(int a[],int len)
{
int maxid=0;//maxid为初始化最大数
for (int i=1; i<len; i++ ) //for 从第二项开始比较
{
if ( a[i] > a[maxid] )
{
maxid = i;
}
}
return maxid;//得到最大数
}
算法 冒泡排序
最新推荐文章于 2024-07-12 18:56:03 发布