【题目内容】
冒泡排序程序格式: 无返回值 函数名(数组参数,数组元素个数){ 定义整形变量j,I,tem; 循环获取数组每一个元素的值{ 创建记录交换次数变量; 循环获取数组每一个元素的值{ 判断里层循环获取的值是否大于下一元素的值{ 当前元素值和下一元素值交换位置; 记录交换次数变量加1; } } 判断记录交换次数变量是否等于0,如果等于则跳出循环; } } int main(){ int arr[5]={3,2,4,9,5}; int i; 调用冒泡排序函数,传入参数值; 输出"排序完成"; }
【输出形式】
运行程序后输出排序完成信息。输出格式如:排序完成
【测试用例1】
输入:
输出:
排序完成
双重循环,遍历比较大小,调整顺序
#include <stdio.h>
void sorts(int *a,int n)
{
int t,item=0,i,j;
for(i=0;i<n-1;i++)
{
item = 0;
for(j=0;j<n-i-1;j++)
{
if(a[j] > a[j+1])
{
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
item++;
}
}
if(item == 0)
break;
}
}
int main()
{
int arr[5]={3,2,4,9,5};
sorts(arr,5);
printf("排序完成");
}
#include<stdio.h>
void Bubble_sort(int arr[], int size)
{
int j,i,tem;
for (i = 0; i < size-1;i ++)
{
int count = 0;
for (j = 0; j < size-1 - i; j++)
{
if (arr[j] > arr[j+1])
{
tem = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tem;
count++;
}
}
if (count == 0)
break;
}
}
int main()
{
int arr[5]={3,2,4,9,5};
int i;
Bubble_sort(arr, 5);
for (i = 0; i < 5; i++)
{
printf("%d ", arr[i]);
}
printf("\n排序完成");
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!