当前位置: 首页 > news >正文

考研要求掌握的C语言(冒泡排序专题)

冒泡排序是啥类型的排序

交换型

冒泡排序的口头表达是啥

当从前往后遍历比较时,待确定的数据依次下沉。

图示

bc14aa3590b045538c3b4caba1cc5392.jpeg

当从后往前遍历比较时,待确定的数依次上浮。

图示:

27938e98a86642bba96bcd7fb6a914c4.jpg

 

代码

#include<stdio.h>
#include<string.h>
#include<time.h>
#include<stdlib.h>void swap(int &a,int &b)
{int tmp=a;a=b;b=tmp;
}void rangnums(int nums[],int len)
{srand(time(NULL));//初始化数组printf("初始化数组:");for(int i=0;i<len;i++){nums[i]=rand()%100+1;printf("%d ",nums[i]);}puts("");
}void print(int a[],int len)
{for(int i=0;i<len;i++){printf("%d ",a[i]);}puts("");
}//从前往后遍历比较
void buble_sort(int a[],int len)
{for(int i=0;i<len;i++){for(int j=0;j<len-i-1;j++)//防止数组越界例如当i=0时,若不减去1,j范围为【0,9】,但是a[9+1]不存在//所以减去1{printf("j=%d ",j);if(a[j]>a[j+1]){swap(a[j],a[j+1]);}}//puts("");print(a,len);}
}//从后往前遍历比较
void buble_sort_up(int nums[],int len)
{for(int i=0;i<len;++i){for(int j=len-1;j>i;--j)//  >0 是为了防止数组越界,例如当j=0时,nums[0-1]不存在{printf("j=%d ",j);if(nums[j-1]>nums[j]){swap(nums[j-1],nums[j]);}}print(nums,len);}}
int main()
{int a[10]={92 ,79 ,49, 59, 86 ,38, 94, 64, 92, 3};// int a[]={81, 1 ,99 ,62 ,28 ,70 ,60, 9, 85 ,88};// int a[]={24 ,20 ,74 ,11 ,25 ,2 ,49 ,45 ,31 ,68 };// rangnums(a,10);// buble_sort(a,10);buble_sort_up(a,10);print(a,10);}

代码每一趟解析图片

数据int a[10]={92 ,79 ,49, 59, 86 ,38, 94, 64, 92, 3};

从前往后遍历比较

68989b2fc0c941ceb1134d84485f89f6.jpeg

从后往前

 58c3a77390d1435281e3f0abb563fc08.jpeg

若还不理解,可以自己动手画一下图 

 


http://www.mrgr.cn/news/64705.html

相关文章:

  • proxypin抓包快速补axios环境
  • 《欢乐饭米粒儿9》第五期:用笑声诠释生活,让爱成为日常
  • 头歌——数据库系统原理(数据高级查询实验1)
  • 回归预测 | MATLAB实现基于RF-Adaboost随机森林结合AdaBoost多输入单输出回归预测
  • 惊喜!RFID技术的应用竟如此多元?
  • NFTScan Site:以蓝标认证与高级项目管理功能赋能 NFT 项目
  • [Android]从FLAG_SECURE禁止截屏看surface
  • 周报_2024/11/3
  • 访问者模式:将操作与对象结构分离的设计模式
  • 插值表达式
  • 提高交换式网络可靠性之STP配置
  • modelscope下载Qwen2.5 72B 模型方法
  • Automattic 和 Matt Mullenweg 要求驳回 WP Engine 诉讼案中的关键索赔
  • GPRS是什么?
  • 嵌入式数据存储小记(bss,data,text,stack,heap)
  • ACIS创建各种基本体,举例说明
  • 使用Kafka构建大规模消息传递系统
  • JAVA开源项目 网上购物商城 计算机毕业设计
  • SAP ABAP开发学习——BADI增强操作步骤示例1
  • vscode makfile编译c程序
  • 创客匠人:打造IP陷入迷茫?20位大咖直播如何破局,实现财富增长
  • java字节码文件与javap的使用
  • Position:定位
  • 通过muduo库函数实现protobuf通信协议
  • 多模态大模型微调实践!PAI+LLaMA Factory搭建AI导游
  • pta题目:字符串的全排列