C语言——冒泡排序[通俗易懂]

C语言——冒泡排序[通俗易懂]冒泡排序的原理是:从左到右,相邻元素进行比较。每次比较一轮,就会找到序列中最大的一个或最小的一个。这个数就会从序列的最右边冒出来。以从小到大排序为例,第一轮比较后,所有数中最大的那个数就会浮到最右边;第二轮比较后,所有数中第二大的那个数就会浮到倒数第二个位置……就这样一轮一轮地比较,最后实现从小到大排序。代码如下#include<stdio.h>voidBBsort(intarr[],intsize){ intj,i,tem; for(i=0;i..

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

冒泡排序的原理是:从左到右,相邻元素进行比较。每次比较一轮,就会找到序列中最大的一个或最小的一个。这个数就会从序列的最右边冒出来。

以从小到大排序为例,第一轮比较后,所有数中最大的那个数就会浮到最右边;第二轮比较后,所有数中第二大的那个数就会浮到倒数第二个位置……就这样一轮一轮地比较,最后实现从小到大排序。

C语言——冒泡排序[通俗易懂]

 

代码如下 

#include<stdio.h>
void Bubble_sort(int arr[], int size)
{
	int j,i,tem;
	for (i = 0; i < size-1;i ++)//size-1是因为不用与自己比较,所以比的数就少一个
	{
		int count = 0;
		for (j = 0; j < size-1 - i; j++)	//size-1-i是因为每一趟就会少一个数比较
		{
			if (arr[j] > arr[j+1])//这是升序排法,前一个数和后一个数比较,如果前数大则与后一个数换位置
			{
				tem = arr[j];
				arr[j] = arr[j+1];
				arr[j+1] = tem;
				count = 1;
				
			}
		}
		if (count == 0)			//如果某一趟没有交换位置,则说明已经排好序,直接退出循环
				break;	
	}

}
int main()
{
	int arr[10];
	int i;
	
	printf("请输入10个数\n");
	for (i = 0; i < 10; i++)		//接收用户的数值
	{
		scanf("%d", &arr[i]);
	}
	printf("排序前的数组>");
	for (i = 0; i < 10; i++)
	{
		printf("%d ", arr[i]);
	}

	printf("\n排序后的数组>");
	Bubble_sort(arr, 10);
	for (i = 0; i < 10; i++)
	{
		printf("%d ", arr[i]);
	}

	return 0;
}

Jetbrains全家桶1年46,售后保障稳定

  值得注意的是函数中的定义的count是为了检验是否进行了元素的交换,是对代码的一种优化

运行结果>

C语言——冒泡排序[通俗易懂]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/203736.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 如果要将二叉树{16,14,10,8,7,9,3}_二叉分枝

    如果要将二叉树{16,14,10,8,7,9,3}_二叉分枝有一棵二叉苹果树,如果树枝有分叉,一定是分两叉,即没有只有一个儿子的节点。这棵树共 N 个节点,编号为 1 至 N,树根编号一定为 1。我们用一根树枝两端连接的节点编号描述一根树枝的位置。一棵苹果树的树枝太多了,需要剪枝。但是一些树枝上长有苹果,给定需要保留的树枝数量,求最多能留住多少苹果。这里的保留是指最终与1号点连通。输入格式第一行包含两个整数 N 和 Q,分别表示树的节点数以及要保留的树枝数量。接下来 N−1 行描述树枝信息,每行三个整数,前两个是它连接的节点的编号,第三个数是这根树枝上

  • 嵌套查询效率_sql嵌套查询例子

    嵌套查询效率_sql嵌套查询例子嵌套查询的查询优化TableofContents1.嵌套查询的分类和优化概述2.Kim:OnOptimizinganSQL-likeNestedQuery2.1.嵌套查询的分类2.1.1.A类2.1.2.N类2.1.3.J类2.1.4.JA类2.1.5.D类2.2.嵌套查询的优化3.Kiessling,SQ

  • Git切换分支命令

    Git切换分支命令GIT切换分支命令1.查看远程分支2.查看本地分支3.切换分支程序员在开发和管理项目的时候,往往会会切除多个分支来进行使用,现在就来谈谈如何切换分支1.查看远程分支1.gitbranch-a先到你的项目根目录下打开Git,在命令行输入上面指令就能查出远程所有分支了。2.查看本地分支2.gitbranch这一步可有可无,只是让自己知道项目现在处于哪个分支之下3.切换分支3.gitcheckout-b想要的分支名(如果本地有这分支的话,-b就可以省略

  • laravel – linux 多版本php运行命令问题「建议收藏」

    laravel – linux 多版本php运行命令问题「建议收藏」laravel – linux 多版本php运行命令问题

  • qtreewidget基本使用_qtreewidget列宽自适应

    qtreewidget基本使用_qtreewidget列宽自适应1、voidQTreeWidget::setHeaderLabels(constQStringList&labels)设置表头,QStringList有几项,表头就有多少列2、voidQHeaderView::setSortIndicatorShown(boolshow)Thispropertyholdswhetherthesortindicatoris

  • php stripslashes 函数的意思

    php stripslashes 函数的意思脑子不行了,很多东西看过就忘,比如这个stripslashes,知道是去除反斜杠,但为啥用它死活想不起来,搜索一下,把这几篇文章抄下来:1、反斜杠是怎么回事两个东西ini_set(magic_q

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号