史上最详细的C语言冒泡排序算法

时间:2022-12-18 19:52:44

未经同意,请勿转载!如有收货,请留一赞,不胜感激!

同时欢迎加入我们的qq交流群:326079727

话不多说上代码:

c语言:

 void bubbing(){
int init_arr[] = {,,,,,,,,,};//define init the array
//going to the exinternal loop,start to loop from 0
int tmp;
int len = sizeof(init_arr)/;//获取数组的长度,因为c语言的每个int型占四个字节,所除以4
for (int i = ; i < len; i++) {//外层循环,从第一个数开始比较,每一轮下来,都能获取到一个最大值,然后放到数组最后面。
for (int j = ; j < len-i-; j++) {//j的初始值为也为0,但是遍历到len-i-1时就不再遍历了,因为len-j-1后面的值是已经排好序的值。
if (init_arr[j + ] < init_arr[j]) {//开始进行判断,每一轮都通过判断相邻两个值大小,把大的放到后面。
int t = init_arr[j];
init_arr[j] = init_arr[j+];
init_arr[j+] = t;
} }//printf("%d",init_arr[i]);
}
for (int k = ; k < len- ; k++) {//进行打印排序好的数组
printf("%d\n",init_arr[k]);
} }

Python语言:

def bubbing():
list=[1,2,5,8,55,66,99,126,33,55]#定义列表,这里也可以任意定义其他数
#外层循环走起
#进行外层循环,这里和c语言的for循环的语法阿是不一样的,获取list的长度如此简单。
# 外层循环,外层一共进行十轮(数组的长度),每一轮都从j=0,也就是第一个数开始内层循环,进行比较判断
for i in range(0,len(list)):
for j in range(0,len(list)-i-1):
#内侧循环,每次都从第0位开始比较,一直比较到len(list)-i-1。
# 因为len(list)-i-1后面的数值已经拍好序了,所以不用再比较
if list[j]>list[j+1]:
list[j+1],list[j]=list[j],list[j+1]#python写法之骚气,不用buffer就可以进行变量值的互换。
j+=1#内部的加一
i+=1#每完成一轮则加一
print(list) bubbing()

附赠:排序动图:

史上最详细的C语言冒泡排序算法

史上最详细的C语言冒泡排序算法的更多相关文章

  1. 测试思想-测试设计&&num;160&semi;史上最详细测试用例设计实践总结&&num;160&semi;Part2

    史上最详细测试用例设计实践总结 by:授客 QQ:1033553122 -------------------------接 Part1-------------------------- 方法:这里 ...

  2. 史上最详细的C语言和Python的插入排序算法

    史上最详细的C语言和Python的插入排序算法插入排序原理:所谓插入排序,就像我们在打牌(斗地主)时,整理我们自己手中自己的牌一样,就像是2,1,3,9,J,K,5,4,这四张牌.我们要把它其中的几张 ...

  3. 史上最详细&OpenCurlyDoubleQuote;截图”搭建Hexo博客并部署到Github

    http://jingyan.baidu.com/article/d8072ac47aca0fec95cefd2d.html 大家也搭建过博客,很多时候,按着教程来做就可以了,但是我当时为了搭建Hex ...

  4. 史上最详细&OpenCurlyDoubleQuote;截图”搭建Hexo博客——For Windows

    http://angelen.me/2015/01/23/2015-01-23-%E5%8F%B2%E4%B8%8A%E6%9C%80%E8%AF%A6%E7%BB%86%E2%80%9C%E6%88 ...

  5. 史上最详细Windows版本搭建安装React Native环境配置 转载,比官网的靠谱亲测可用

    史上最详细Windows版本搭建安装React Native环境配置   2016/01/29 |  React Native技术文章 |  Sky丶清|  95条评论 |  33530 views ...

  6. 史上最详细的Android Studio系列教程一--下载和安装

    链接地址:http://segmentfault.com/a/1190000002401964#articleHeader4 原文链接:http://stormzhang.com/devtools/2 ...

  7. 转 史上最详细的Hadoop环境搭建

    GitChat 作者:鸣宇淳 原文:史上最详细的Hadoop环境搭建 关注公众号:GitChat 技术杂谈,一本正经的讲技术 [不要错过文末活动哦] 前言 Hadoop在大数据技术体系中的地位至关重要 ...

  8. 史上最详细的XGBoost实战

    史上最详细的XGBoost实战 0. 环境介绍 Python 版 本: 3.6.2 操作系统 : Windows 集成开发环境: PyCharm 1. 安装Python环境 安装Python 首先,我 ...

  9. 史上最详细mac安装Qt教程

    史上最详细mac安装Qt教程,小白看过来! 这是一篇非常适合Qt入门小白的的安装Qt教程,因为这学期我们小组的一个关于高速救援的项目要用到Qt与web进行交互式展现相关的图像,由于没有MSVC这个插件 ...

随机推荐

  1. Centos6下安装Hadoop2&period;6 问题总结

    一. 安装背景:VirtualBox下安装三台Centos6.8虚拟机(一主:master, 两从:slave1,slave2) Centos版本:CentOS-6.8-x86_64 网络配置:三台虚 ...

  2. python极客学院爬虫V1

    定向爬取极客学院视频,原本只有年费VIP只能下载,经过分析,只要找个免费体验VIP即可爬取所有视频 涉及的基本技术:python xpath 正则 com+ 通过python调用迅雷从组件,实现自动创 ...

  3. Centos7下搭建LAMP平台环境 &lpar;转载&rpar;

     1.启用Apache(httpd) Centos7默认已经安装httpd服务,只是没有启动.如果你需要全新安装,可以yum install -y httpd 启动服务:systemctl start ...

  4. 使用FROM确认按钮&lpar;键盘13号键&rpar;提交特性并使用ajax&period;POST提交&period;

    如果又想使用FROM确认按钮(键盘13号键)提交特性  还能继续用AJAX.POST提交.就需要使用return false 来阻止FROM默认提交 代码如下: HTML页面 这里最关键就是用了ret ...

  5. Java - 网络编程&lpar;NetWork&rpar;

    Java - 网络编程(NetWork)   一.java.net包下的 InetAddress 类的使用:     > 一个 InetAddress 代表着一个IP地址     > 主要 ...

  6. asp&period;net C&num; 实现微信服务器配置

    微信服务器配置接收页面示例代码 /// <summary> /// 微信的Token /// </summary> const string Token = "Tok ...

  7. LINUX常见性能监控工具总结

    文章来源 工具功能概览 整理了一个关于监控工具及其功能的表.下面对这些工具单独详细介绍. Linux性能监控工具 top top命令会展示进程的实际活动.默认情况下,它会列出系统上所有cpu密集型任务 ...

  8. spring入门常见的问题及解决办法

    在学习spring过程中遇见了种种不同的异常错误,这里做了一下总结,希望遇见类似错误的同学们共勉一下. 1. 错误一 Error creating bean with name 'helloServi ...

  9. css3-rem

    http://www.w3cplus.com/css3/define-font-size-with-css3-rem https://mp.weixin.qq.com/s/DpLXJhfCHsgrbg ...

  10. flAbsPath on &sol;var&sol;lib&sol;dpkg&sol;status failed 解决 Cydia 红字

    越狱之后抹掉所有数据,然后再使用 doubleH3lix 越狱成功后,打开 Cydia 会提示如下错误: flAbsPath on /var/lib/dpkg/status failed - real ...