对n个整数冒泡排序

对n个整数数进行冒泡排序

步骤:

首先需要一个整形数组来存放整数,然后输入n个数到数组中去
然后对数组中的值两两比较,把最大(小)的放到最后去

#include <stdio.h>
#define MAX 100
void Sort(int arr[], int len); //排序函数原形
void Swap(int * n1, int * n2);
int main(void)
{
int arr[MAX], n;
scanf("%d", &n); //输入个数
int i;
for (i = 0; i < n; i++)
scanf("%d", &arr[i]); //输入元素
Sort(arr, n); //排序
for (i = 0; i < n; i++)
printf("%d ", arr[i]); //打印
return 0;
}
void Sort(int arr[], int len)
{
int i, j;
for (i = 0; i < len - 1; i++) //一共要找len - 1次最大/小值
for (j = 0; j < len - 1 - i; j++) //每一次要跑len - 1 - i步才能找到最大/小值
if (arr[j] < arr[j + 1]) //降序排列,若是想要升序直接改成 ">"
Swap(&arr[j], &arr[j + 1]);
}
void Swap(int * n1, int * n2) //交换变量内的值
{
int temp = *n1;
*n1 = *n2;
*n2 = temp;
}
posted @   codels  阅读(246)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示