冒泡排序--------(C每日一题)

冒泡排序:
每次将相邻的两个数比较,将小的调到前头--升序
冒泡排序一个结论:
n个数要进行n-1轮比较,第j轮要进行n-j次两两比较

循环体代码:

cpp 复制代码
int main() {
	int i, j,n,a[10],t;//n是几个数比较
	for(j=1;j<=n-1;j++)//控制轮次
		for(i=0;i<n-j;i++)//内循环控制谁和谁比较
			if (a[i] > a[i + 1])
			{
				t = a[i]; a[i] = a[i + 1]; a[i + 1] = t;
			}
}

一,用冒泡法将10个整数由大到小排序

cpp 复制代码
int main() {
	int i, j, t, a[10];
	for (i = 0; i < 10; i++)
		scanf("%d",&a[i]);
	for(i=0;i<9;i++)
		for(j=0;j<9-i;j++)
			if(a[j]<a[j+1])
			{
				t = a[j];
				a[j] = a[j + 1];
				a[j + 1] = t;
			}
	for(i=0;i<10;i++)
	printf("%d ", a[i]);
	return 0;
}
以上总结:n个数,n-1趟
第1趟 n-1次比较
第2趟 n-2次比较
第3趟 n-3次比较
...
第n-1趟 1次比较

以上仅供参考。

相关推荐
Tisfy9 分钟前
LeetCode 3643.垂直翻转子矩阵:原地修改
算法·leetcode·矩阵·模拟
噜啦噜啦嘞好10 分钟前
算法篇:滑动窗口
数据结构·算法
无限进步_14 分钟前
【C++】单词反转算法详解:原地操作与边界处理
java·开发语言·c++·git·算法·github·visual studio
senijusene16 分钟前
通信概念,51UART的使用,以及MODBUS的简单应用
c语言·开发语言·单片机·51单片机
泯泷21 分钟前
从零构建寄存器式 JSVMP:实战教程导读
前端·javascript·算法
NGC_661122 分钟前
值传递和引用传递辨析
算法
寒月小酒32 分钟前
3.21 OJ
算法·深度优先
Book思议-35 分钟前
【数据结构考研真题】链表大题
c语言·数据结构·考研·算法·链表·408·计算机考研
m0_5281744540 分钟前
ZLibrary反爬机制概述
开发语言·c++·算法
你这个代码我看不懂1 小时前
引用计数法存在的问题
java·jvm·算法