C语言——起泡法(冒泡法)和选择法


最简单的排序方法有两种:起泡法(冒泡法)、选择法

这两种排序法是初识C语言最基本的算法,下面介绍了起泡法(冒泡法)和选择法两种排序方法(均使用5个数比大小来示例)


一、起泡法(冒泡法)

起泡法原理:
1.比较相邻的元素。如果第一个比第二个大(小),就交换他们两个。
2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最小(大)的数。
3.针对所有的元素重复以上的步骤,除了最后一个。
4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

代码如下(示例):

int main()
{
   
	int a[5];
	int i, j, t;
	for (i = 0; i <= 4; i++)
		scanf("%d", &a[i]);//输入需要排序的数字
	for(j=0;j<=4;j++)
		for(i=0;i<=3-j;i++)
			if (a[i] > a[i + 1])
			{
   
				t = a[i];
				a[i] = a[i + 1];
				a[i + 1] = t;
			}//将其依次进行比较,并进行调换
	for (i = 0; i <= 4; i++)
		printf("%d\t", a[i]);//输出排序后的结果
	return 0;
}

运行结果
待排序序列:[4,5,3,2,1]
排序后序列:[1,2,3,4,5]
在这里插入图片描述

二、选择法

原理
1.在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。
2.再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
3.重复上面的步骤,直到没有任何一对数字需要比较。

代码如下(示例):

int main()
{
   
	int a[5];
	int i, j, t;
	for (i = 0; i <= 4; i++)
		scanf("%d", &a[i]);//输入需要排序的数字
	for(i=0;i<=3;i++)
		for(j=i+1;j<=4;j++)
			if (a[i] > a[j])
			{
   
				t = a[i];
				a[i] = a[j];
				a[j] = t;
			}//将其依次进行比较,并进行调换
	for (i = 0; i <= 4; i++)
		printf("%d\t", a[i]);//输出排序后的结果
	return 0;
}

运行结果:
待排序序列:[4,5,3,2,1]
排序后序列:[1,2,3,4,5]
在这里插入图片描述


总结

以上就是关于起泡法(冒泡法)和选择法的内容,本文仅仅简单介绍了起泡法(冒泡法)和选择法的使用,而排序的方法不只有起泡法(冒泡法)和选择法,除此之外还有插入排序、快速排序、归并排序等方法。

相关推荐

  1. C语言—scanfprintf 函数的&字符用

    2023-12-26 22:42:01       51 阅读
  2. 选择排序

    2023-12-26 22:42:01       59 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-26 22:42:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-26 22:42:01       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-26 22:42:01       87 阅读
  4. Python语言-面向对象

    2023-12-26 22:42:01       96 阅读

热门阅读

  1. 返利机器人赚佣金工作原理及实现思路探索

    2023-12-26 22:42:01       64 阅读
  2. NAT路由器,将内网ip转换为外网ip

    2023-12-26 22:42:01       59 阅读
  3. DockerCompose安装mysql及配置

    2023-12-26 22:42:01       61 阅读
  4. Minio的工具类实现(封装了基础的minio的方法)

    2023-12-26 22:42:01       61 阅读
  5. vue利用深拷贝解决修改不能取消的问题

    2023-12-26 22:42:01       54 阅读
  6. 如何在uni-app项目中使用路由

    2023-12-26 22:42:01       61 阅读