昆明市建设厅网站集团公司网站案例
昆明市建设厅网站,集团公司网站案例,个人网站建设需要多少钱,北京新情况最新消息今天C语言 基础开发----目录 冒泡排序
1. 原理
对一个有n个数据的数组进行遍历#xff0c;依次对相邻两个数据进行比较大小#xff0c;若大的数据在前面则交换位置#xff08;升序#xff09;#xff0c;完成一次遍历后数组中最大的数据到了数组的末尾位置#xff0c;就象水…C语言 基础开发----目录 冒泡排序
1. 原理
对一个有n个数据的数组进行遍历依次对相邻两个数据进行比较大小若大的数据在前面则交换位置升序完成一次遍历后数组中最大的数据到了数组的末尾位置就象水底下的气泡一样逐渐 向上冒泡。 然后再对前面n-1个数据进行相同的遍历一共完成n-1次遍历就实现了排序完成。
2. 举例说明
将5个无序的数列 {6 , 8 , -12 , 0 , -2}使用冒泡排序法升序将其排列成一个从小到大的有序数列。
第一次遍历做 4 次比较将第一大的数据放到倒数第一的位置
原始数据 6 8 0 -2 -12 第一次遍历 6 0 -2 -12 8
第二次遍历做 3 次比较将第二大的数据放到倒数第二的位置
原始数据6 8 0 -2 -12 第一次遍历 6 0 -2 -12 8 第二次遍历 0 -2 -12 6 8
第三次遍历做 2 次比较将第三大的数据放到倒数第三的位置
原始数据6 8 0 -2 -12 第一次遍历 6 0 -2 -12 8 第二次遍历0 -2 -12 6 8 第三次遍历 -2 -12 0 6 8
第四次遍历做 1 次比较将第四大的数据放到倒数第四的位置
原始数据6 8 0 -2 -12 第一次遍历 6 0 -2 -12 8 第二次遍历0 -2 -12 6 8 第三次遍历 -2 -12 0 6 8 第四次遍历 -12 -2 0 6 8
3. 程序代码
具体代码如下
//升序排序大的在后面
void BubbleSort_Rise(int *data, int Length)
{int j,i;int t;//临时变量 for(i0;iLength-1;i){for(j0;jLength-1-i;j){ //如果前面的数大于的后面的数就交换if(data[j]data[j1]){t data[j];data[j] data[j1];data[j1] t;}}}
}int main(int argc, char *argv[])
{int n;int Tdata[5] {6,8,0,-2,-12};int DataLen sizeof(Tdata) / sizeof(int); // 5 数组大小BubbleSort_Rise(Tdata,DataLen);//数组默认是地址传递 (指针)printf(升序排序结果);for(n0;nDataLen;n){printf( %d,Tdata[n]); }printf(\n); return 0;
}运行结果如下
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/89623.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!