1 一维数组

2 冒泡的概念

3 代码实现

1一维数组

一维数组 :存放字符型数据的数组

一维数组的定义

首先 定义int arr[5](int类型的一维数组 ), 5 是数组的长度 也就是大小 但是我们 在访问数组元素的地址 时候, 不存在 有 arr[5]

也就是说 定义arr[5]只是 为了 让你知道这个数组大小是 5 而已    我们在访问 数组的元素地址时候  是用下标来访问的 (从0开始 )  上述的两种定义的方法 都可以适用 在我们的元素长度和数组大小对不上时 他们自动补充 元素  我们有个这些概念之后  后面讲到的理解起来 都不会很吃力

2 冒泡 的概念

拿图中的五个数相比较   只要满足 前<后   我们就可以进行 交换  也就是 用下标法来比较

我们可以得出 我们拿五个数比较 第一轮 比较四次 得出 最大值  除去最大值 就是第二轮要比较的数   第二轮就是要比较 (比较的数量-1)就可以得本轮的最大值   其实第五轮 是没有比较的 因为只有一个数 (只是为了更直观 看到  全部 )

3 代码实现

计算 数组大小的 关键字   sizeof

计算公式

 int  len=sizeof(arr)/sizeof(arr[0]);

函数声明

    void scan(int arr[],int len);void MaoPao(int arr[],int len);void print(int arr[],int len);

函数声明 只是为了 养成 良好的 编程习惯

输入函数

//输入函数void scan(int arr[],int len){for(int i=0;i<len;i++){scanf("%d",arr+i);//输入五位数}

因为 数组名就是 入口 地址  所以 我不用常规的方式 来写  输入函数    其实都一样的

冒泡排序

     //冒泡 排序 函数void MaoPao(int arr[],int len){int temp;for(int i=0;i<len-1;i++){for(int j=0;j<len-i-1;j++){if(arr[j]<arr[j+1])//满足条件 交换 到了下一次  并且 相应改变 位置{temp=arr[j]; //开始交换 arr[j]=arr[j+1];arr[j+1]=temp;}}}}

i 是轮次 我拿了 五个 数 可以发现 我只用了 四轮 就完成了 大小排序

j是 比较的次数  第一轮  用了 四次 (最开始有五个数 )所以 要 长度-1-i

如果 不减i的话 会导致  每一轮的比较次数都是一样的  这个要特别注意

输出 函数

  void print(int arr[],int len){printf("大小排序是:\n");for(int i=0;i<len;i++){printf(" %d",*(arr+i));}}

这里再说一次  输入 和输出 能用 arr+i 和 *(arr+i) 写的原因   常规写法 应该分别是 &arr[I] 和 arr[i]       我们这里要知道一个概念  数组名就是数组 的入口地址(首地址)

主函数 的 调用

void main(void)//无参主函数 {int arr[5];int len;len=sizeof(arr)/sizeof(arr[0]);//计算数组大小scan(arr,len);//输入 MaoPao(arr,len);//排序print(arr,len);//输出 }

最后结果

冲冲冲冲冲冲 !!!!!!!!!!!!!!!!!!!!!!!!

最 后 感 谢 大 家 的 阅 读

冒泡排序 C语言(从大到小排序)相关推荐

  1. c 语言从大到小排序算法,10 大经典排序算法(动图演示+ C 语言代码)

    原标题:10 大经典排序算法(动图演示+ C 语言代码) 来源:C语言与CPP编程 以前也零零碎碎发过一些排序算法,但排版都不太好,又重新整理一次,排序算法是数据结构的重要部分,系统地学习很有必要. ...

  2. c语言五位数大到小排序,刚学c语言,老师让用if编一个五个数字从大到小的排序,有那个大神能帮我,谢谢啦...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #define N 5 int main() { int numbers[N]; int i,j,pre,k; int x = 5; i ...

  3. 对N个数进行从大到小排序

    文章目录 一.代码 二.实现过程 总结 一.代码 import java.util.Arrays;public class Test {public static void main(String[] ...

  4. C语言冒泡排序(从大到小排序核心代码)

    冒泡排序(从大到小排序) 核心代码 for(j=0;j<N-1;j++)for(x=0;x<N-j-1;x++)if(b[x]<b[x+1]){temp=b[x];b[x]=b[x+ ...

  5. c语言冒泡法对10个整数由大到小排序,用冒泡法对10个整数排序

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:用冒泡法对10个整数排序.10个整数用scanf函数输入回答:举了例:一个数组:3,2,5,1,4从小到大排序从左侧开始,逐对比较3 ...

  6. 输入5个学生的名字(英文),使用冒泡排序按从大到小排序。 提示:涉及到字符串数组,一个字符串是一个一维字符数组;一个 字符串数组就是一个二维字符数组。...

    输入5个学生的名字(英文),使用冒泡排序按从大到小排序. 提示:涉及到字符串数组,一个字符串是一个一维字符数组:一个 字符串数组就是一个二维字符数组. #include <stdio.h> ...

  7. c++ sort 从大到小排序_C语言必学的12个排序算法:堆排序(第7篇)

    题外话堆排序比之前的简单选择.冒泡算法.快速排序算法复杂一些,因为用到了树形数据结构,但是本文使用了数组实现完全二叉树,因此也比较简单.C语言初学者,可以简单了解其思想,具体的知识掌握可以参照数据结构 ...

  8. Nwafu-OJ-1411 Problem J C语言实习题二——5.按从大到小排序三个数

    问题 J: C语言实习题二--5.按从大到小排序三个数 时间限制: 1 Sec  内存限制: 128 MB 题目描述 从键盘输入三个数,将它们按从大到小进行排序,然后输出. 输入 输入三个数. 输出 ...

  9. js冒泡排序-(从大到小排序,从小到大排序)

    // 冒泡排序法-从大到小排序 let itemSort = [8, 1, 4, 7, 3, 2, 9]; for (let i = 0; i < itemSort.length; i++) { ...

  10. C语言 九九乘法口诀表 实现从大到小排序

    这次用C语言 实现九九乘法口诀表 从大到小排序 个人感觉不完美,望告知 #include <stdio.h>/*实现从大到小*/ int main(void) {int i,j,t;/*定 ...

最新文章

  1. anaconda切换python版本及对应环境,太方便
  2. JVM(2)之 JAVA堆
  3. MNIST数据可视化
  4. c#调用.exe程序
  5. Linux线程池的设计
  6. linux看是不是db2实例用户,切换到实例用户以后不能执行 db2
  7. CSS3属性box-shadow详解[盒子阴影]
  8. 跨站请求伪造(CSRF)漏洞简介及靶场演示
  9. linux初始化驱动程序,linux驱动程序什么时间初始化
  10. 计算机原理视频罗克露优酷,5IO系统-2中断-罗克露计算机组成原理课件(绝对与网上视频教程同步)...
  11. 弹出启动windows安全中心服务器,无法启动Windows安全中心服务怎样处理
  12. app_start(‘com.ss.android.ugc.aweme‘) 打不开app 无反应 Activity not started, unable to resolve Intent {
  13. 华为服务器安装nas系统,云服务器搭建nas
  14. 简述RAKsmart香港服务器的的优势
  15. 《Python基础教程》学习笔记——异常
  16. jQuery学习基础理论(二)
  17. 遇到长GC停顿、CPU满载、内存泄露、JVM崩溃等高频问题,看这里!
  18. 一张显卡卖5-6万?Tesla计算卡你凭什么这么贵!
  19. python批量放大图片
  20. python获取股票的市盈率_怎样查找股票的历史市盈率数据?

热门文章

  1. mciSendCommand对本地音乐的播放
  2. OpenGL超级宝典 绘制第一个三角形
  3. avast高级版许可文件_明道云私有部署版已上架腾讯云镜像市场
  4. delphi打包python_python for delphi 组件安装和调试的那些坑儿 !
  5. c语言电子钢琴课程设计,单片机课程设计(电子琴).doc
  6. ZUL页面注解语法与Java注解语法
  7. SWF文件反编译调试记录
  8. 卡巴斯基最新Key下载 生成卡巴斯基Key的工具下载 卡巴斯基Key下载
  9. 用友漏洞php,用友NC任意文件上传漏洞复现
  10. 获取各城市poi数据