博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言数据结构学习笔记(3)--冒泡排序
阅读量:6827 次
发布时间:2019-06-26

本文共 1109 字,大约阅读时间需要 3 分钟。

hot3.png

排序也是写程序中比较常用的算法,一定要掌握的。有很多排序方法,一般的只要掌握几个常用的就行了。冒泡是我接触最早的排序,也比较如以理解。介绍一下关键点:例如有一个整数数组 int a [6] = {

4, 9, 2, 6, 1, 3},按从小到大排列。

1。冒泡排序是把相邻(a[i], a[i+1])的两个数比较,把较大的数放在后面。

2.循环次数:a[6]数组的长度是6,那只需比较5次就可以排好了,第一趟选出最小的一个放在第一个位置,第二趟选出第二小的放在第二个位置。最后一个不用比较一定是最大的。所以只需5次。

#include
/*time:2015/6/22@author:liuxinquan*///冒泡排序void bubble_sort(int a[]){ int i, j, k; for(i=1; i<6; i++) //一共比较5次,i为1时,选出最小的一个 { for(j=5; j>=i; j--) //从最后一个数开始查看是否最小 { if(a[j]

另一种冒泡排序,也算是选择排序。对比两个不同处:

#include
void sample_sort(int a[]){ int i, j, k; for(i=0; i<5; i++) //一共比较5次,i为1时,把第一个位置上的数和后面的依次比较 { for(j=i+1; j<6; j++) //从要比较的数后面的数开始,就是第一个数先和第二个数开始比较, { if(a[i]>a[j]) //和上面的区别,比较数的位置不变,就是一直是a[i]位置和后面的数比较 { int t; t = a[i]; a[i] = a[j]; a[j] = t; } } } //输出数组 for(k=0; k<6; k++) { printf("%d ", a[k]); }}//主函数,测试。int main(void){ int a[6] = {4, 9, 2, 6, 1, 3}; sample_sort(&a);}

转载于:https://my.oschina.net/liuxinquan/blog/469525

你可能感兴趣的文章
linux卸载mysql,apache,php
查看>>
一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之创建Viewport(1)...
查看>>
JAVA面向对象-----抽象类注意细节
查看>>
BarTender出现条码打印位置不准的情况怎么办
查看>>
SLES 10安装Oracle10gR2笔记
查看>>
Springmvc(常用注解)
查看>>
iis 7.0 asp.net发布问题
查看>>
批量动态生成二维码
查看>>
8张图理解Java
查看>>
centos定时备份远程FTP文件
查看>>
oracle 保留小数位
查看>>
eval
查看>>
zabbix监控系统之监控nginx
查看>>
WEB服务之apache优化
查看>>
windows azure通过powershell打开关闭虚拟机
查看>>
安装Nginx过程全解析
查看>>
HTML5 Canvas动画效果演示
查看>>
SpringMvc新建实例配置
查看>>
XtraBackup完全、增量备份及恢复
查看>>
beego的session使用方法
查看>>