新手快速上手掌握基础排序<一>

目录

引言 

一:两数互换排序

1.画图分析

2.代码实现

二:三数换交换排序

1.例题举例

2.代码实现

3.再比如四数互换排序,也可以使用两数互换的方法来实现 ,但最好使用基础的排序方法(冒泡法,选择法)

三:冒泡法

1.动态图展示

2.基本思想

3.代码实现

4.结果输出 

四:选择法 

1.动态图展示

2.基本思想 

3.代码实现

五:感谢观看,将为你持续更新 


听说看到日落金山的人,接下来的日子会顺顺利利,万事胜意,生活明朗-----------林辞忧

引言 

从基础的两数交换排序,三四个数排序输出,到学习入门级的排序方法,如冒泡法,选择法,再学习更加快速,便捷的高级排序方法,说明排序是一个很重要的问题,接下来我们就先从基础入门排序方法学习起

一:两数互换排序

1.画图分析

新手快速上手掌握基础排序<一>_第1张图片

2.代码实现

新手快速上手掌握基础排序<一>_第2张图片

二:三数换交换排序

在学习两数交换后,三数交换便用两数交换的方法

1.例题举例

如:输入三个整数并按从大到小的顺序输出

输入:1,2,3

输出:3,2,1

如果,a=1,b=2,不符合从大到小的顺序,则交换a,b,此时a是较大的一个数,再与c比较,不符合再互换,b与c比较,不符合互换

2.代码实现

新手快速上手掌握基础排序<一>_第3张图片

3.再比如四数互换排序,也可以使用两数互换的方法来实现 ,但最好使用基础的排序方法(冒泡法,选择法)

三:冒泡法

1.动态图展示

新手快速上手掌握基础排序<一>_第4张图片

2.基本思想

遍历比较两个相邻元素的大小,按一个比较规则交换

遍历一轮后,得到一个最大/最小元素 ,在数组最前端/最后端

按第一步遍历余下的(n-1)个元素,直至余下元素个数为1为止,排序结束

通过比较一组数中相邻两个数的大小,来一步步实现排序,每趟排序即可确定一个数的位置

3.代码实现
#include 
#define N 5
int main()
{
   int a[N]={0};
   int i=0;
   for(i=0;i
4.结果输出 

新手快速上手掌握基础排序<一>_第5张图片

四:选择法 

1.动态图展示

2.基本思想 
  1. 从待排序序列中,找到最小的元素;
  2. 如果最小元素不是待排序序列的第一个元素,将其和第一个元素互换;
  3. 从余下的 N - 1 个元素中,找出关键字最小的元素,重复(1)、(2)步,直到排序结束。

因此我们可以发现,简单选择排序也是通过两层循环实现。
第一层循环:依次遍历序列当中的每一个元素
第二层循环:将遍历得到的当前元素依次与余下的元素进行比较,符合最小元素的条件,则交换。

3.代码实现
#include
#define N 5
int main()
{
	int a[N] = { 0 };
	int i = 0;
	for (i = 0; i < N; i++)
	{
		scanf("%d", &a[i]);
	}
	int m = 0, t = 0,j=0;
	for (i = 0; i < N - 1; i++)//趟数
	{
		m = i;//m存储最大值的下标
		for (j = i + 1; j < N; j++)
		{
			if (a[m] < a[j]) m = j;//如果a[m]

五:感谢观看,将为你持续更新 

你可能感兴趣的:(C,c语言,开发语言,算法)