C语言 冒泡算法

C语言 冒泡算法泡排序算法的运作如下: 1,比较相邻的元素,如果前一个比后一个大,就把它们两个调换位置。 2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 3.针对所有的元素重复以上的步骤,除了最后一个。 4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 代码实例(⊙o⊙)…/*方法…

大家好,欢迎来到IT知识分享网。

泡排序算法的运作如下:

 

1, 比较相邻的元素,如果前一个比后一个大,就把它们两个调换位置。

 

2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。

 

3. 针对所有的元素重复以上的步骤,除了最后一个。

 

4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

 

代码实例(⊙o⊙)…

/*方法 冒泡排序!!

原理:遍历和交换

16 25 9 90 23

某个数字小于后面的数字,那么就交换

1 25 16 9 90 23

2 25 16 9 90 23

3 25 16 90 9 23

4 25 16 90 23 9 最小的数字来到了最后

需要比较多轮,(数组长度-1)轮

每一轮的次数较上一轮-1

数组长度-1)-当前的轮数

C语言 冒泡算法

C语言 冒泡算法

 */
#include <stdio.h>
#define  n 5  //宏定义
int main ()
{   int i ,j;//循环变量
	int h ;  //用来交换的临时变量
	int nums[n];
	for (i=0;i<n;i++)
	{
		scanf ("%d",&nums[i]);
	}

	//外层循环控制轮数
	for (i=0;i<n-1;i++)
	{   //内层循环控制次数
		for (j=0;j<n-i-1;j++)
		{
			if (nums[j]<nums[j+1])
			{   h=nums[j+1];
			    nums[j+1]=nums[j];
				nums[j]=h;
			}
		}
	}
	printf ("降序输出");
	for (i=0;i<n;i++)
		printf ("%d\t",nums[i]);
	printf("\n");
	for (i=0;i<n-1;i++)
	{   //内层循环控制次数
		for (j=0;j<n-i-1;j++)
		{
			if (nums[j]>nums[j+1])
			{   h=nums[j+1];
			    nums[j+1]=nums[j];
				nums[j]=h;
			}
		}
	}
	printf ("升序输出");
	for (i=0;i<n;i++)
		printf ("%d\t",nums[i]);
	return 0;
}
/*降序输出99      25      23      16      9
升序输出9       16      23      25      99      请按任意键继续. . .
*/

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/12426.html

(0)
上一篇 2024-03-14 09:33
下一篇 2024-03-14 16:45

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信