#include <stdio.h>
//冒泡排序
int main(void){
int nums[] = {23,14,76,53,29};
int LEN = sizeof(nums)/ sizeof(int);
printf("数组长度获取: %d\n",sizeof(nums)/sizeof(int));
printf("排序前的数组是: ");
for(int i=0;i<LEN;i++){
printf("%d ",*(nums+i));
}
// 首先,确定一下是要升序还是降序
// 2. 然后,遍历比较每相邻的两个元素,满足条件就换位置
// 3. 每次遍历完成,最后一个数就是max或者min,所以下次遍历长度 -1
// 4. 直到只剩下最后一个元素,就不用遍历了,冒泡结束!
// ------------降序一下
int temp;
for(int i=0;i<LEN -1;i++){
for(int j=0;j<LEN - 1-i;j++){
if(*(nums+j)<*(nums+j+1)){
temp = *(nums+j);
*(nums+j) = *(nums+j+1);
*(nums+j+1) = temp;
}
}
}
printf("\n降序后的数组是: ");
for(int i=0;i<LEN;i++){
printf("%d ",*(nums+i));
}
return 0;
}
/*
console log:
数组长度获取: 5
排序前的数组是: 23 14 76 53 29
降序后的数组是: 76 53 29 23 14
*/
一维数组的冒泡排序
最新推荐文章于 2025-09-09 00:00:00 发布
本文通过一个具体的C语言示例,介绍了如何使用冒泡排序算法对整数数组进行降序排列,并详细展示了排序过程及结果。

1717

被折叠的 条评论
为什么被折叠?



