C言语冒泡排序算法及代码
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,根本思惟及举例阐明冒泡排序的根本思惟就是不时比拟相邻的两个数,让较大的元素不时地往后移。经由一轮比拟,就选出最大的数;经由第2轮比拟,就选出次大的数,以此类推。下面以对 3 2 4 1 停止冒泡排序阐
千家信息网最后更新 2026年11月01日C言语冒泡排序算法及代码
根本思惟及举例阐明
冒泡排序的根本思惟就是不时比拟相邻的两个数,让较大的元素不时地往后移。经由一轮比拟,就选出最大的数;经由第2轮比拟,就选出次大的数,以此类推。
下面以对 3 2 4 1 停止冒泡排序阐明。
第一轮 排序进程
3 2 4 1 (最后)
2 3 4 2 (比拟3和2,交流)
2 3 4 1 (比拟3和4,不交流)
2 3 1 4 (比拟4和1,交流)
第一轮完毕,最大的数4曾经在最初面,因而第二轮排序只需求对后面三个数停止再比拟。
第二轮 排序进程
2 3 1 4 (第一轮排序后果)
2 3 1 4 (比拟2和3,不交流)
2 1 3 4 (比拟3和1,交流
第二轮完毕,第二大的数曾经排在倒数第二个地位,所以第三轮只需求比拟前两个元素。
第三轮 排序进程
2 1 3 4 (第二轮排序后果)
1 2 3 4 (比拟2和1,交流)
至此,排序完毕。
算法总结及完成
关于具有N个元素的数组R[n],停止最多N-1轮比拟;
第一轮,逐一比拟(R[1], R[2]), (R[2], R[3]), (R[3], R[4]), ……. (R[N-1], R[N]) ; 最大的元素会被挪动到R[N]上。
第二轮,逐一比拟(R[1], R[2]), (R[2], R[3]), (R[3], R[4]), ……. (R[N-2], R[N-1]);第二大元素会被挪动到R[N-1]上。
。。。。
以此类推,直到全部数组从小到大排序。
下面给出了冒泡排序的普通完成和优化完成。普通完成是教科书里罕见的完成办法,无论数组能否排序好了,都邑停止N-1轮比拟; 而优化完成,在数组曾经排序好的状况下,会提早加入比拟,减小了算法的工夫复杂度。
纯文本复制
#include#include #define N 8 void bubble_sort(int a[],int n); //普通完成 void bubble_sort(int a[],int n)//n为数组a的元素个数 { //必定停止N-1轮比拟 for(int i=0; i a[j+1]) { int temp = a[j]; a[j] = a[j+1]; a[j+1]=temp; } } } } //优化完成 void bubble_sort_better(int a[],int n)//n为数组a的元素个数 { //最多停止N-1轮比拟 for(int i=0; i a[j+1]) { isSorted = false; int temp = a[j]; a[j] = a[j+1]; a[j+1]=temp; } } if(isSorted) break; //假如没有发作交流,阐明数组曾经排序好了 } } int main() { int num[N] = {89, 38, 11, 78, 96, 44, 19, 25}; bubble_sort(num, N); //或许运用bubble_sort_better(num, N); for(int i=0; i
排序
元素
数组
一轮
交流
二轮
普通
最大
个数
进程
算法
以此类推
三轮
两个
二大
只需
后果
根本
选出
类推
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技园
小米移动互联网科技园
天津市摩尔互联网科技
互联网科技公司经营范围
科技创新与互联网经济
美国互联网科技巨头监管
关于新基建和互联网科技
互联网医疗科技
智慧科技互联网
多迪互联网科技有限公司
联恩商钥互联网科技有限公司
全球顶尖互联网科技公司
华夏互联网科技业
恒生互联网科技指数跳水
用友工业互联网科技发展
元气玛特互联网科技公司是外包吗
互联网科技平台产品运营
北京品多多互联网科技有限公司
互联网企业和网络科技有限公司
知域互联网科技有限公司官网
河南真二互联网科技有限公司
奇酷互联网科技公司
互联网科技视频素材
西藏七维空间互联网科技有限公司
国大互联网教育科技有限公司工作
互联网科技和法律行业
互联网科技包装股
湖北辰鑫科技互联网
现代互联网科技公司
山东亿川互联网科技有限责任公司