C入门者笔记:10个数字排序2.0——下沉法|冒泡法ԅ(¯﹃¯ԅ)

此篇博客介绍了一个C语言的简单排序算法,专为初学者设计,使用Dev-C++5.11开发。通过修改参数实现对任意数量数字的排序,强调了数组与循环的理解和可扩展性。不再局限于10个数,而是易于调整数量,便于实践和学习排序原理。
摘要由CSDN通过智能技术生成

应用工具:Dev-C++ 5.11

(数组与循环知识的运用,更高的可更改性)

最新升级版本:C入门者笔记&里程碑篇-1:一个强大的排序程序模板 ԅ(¯﹃¯ԅ)_HerrosA的博客-CSDN博客

局限性:限定为10个数字,不可多不可少;

相较之前公式的提升:较新的排序法 | 更高的可更改性 | 直观地排序过程

                若要进行公式改变,实现排序限定数的数量发生改变,只需要将所有的10改为n,所有的9改为n-1,n指你想要将多少个数排序

小提示:对于数组的学习理解要慢慢适应从动态的或整体上进行的思考方式,精准一对一的推算理解容易陷入混乱,打击信心,失去乐趣;要明确认清它是一组而不是一个哦

#include<stdio.h>
#include<conio.h>

int main()
{
	//输入数字部分 
	int R,P,num[10];
	printf("Please enter 10 numbers:\n|  |  |  |  |  |  |  |  |  |\n");
	for(P=0;P<10;P++){
		scanf("%d",&num[P]);
	}printf("\n");
	
	//循环排序部分 
	for(R=0;R<9;R++){//R,表示进行(对于较大的数字)下沉次数 
		for(P=0;P<9-R;P++){//P,表示从头开始进行的数字位置交换次数,每进行一次下沉,最后一位一定是最大的数,所以P减去R
			if(num[P]>num[P+1]){
				num[P]=(num[P]+num[P+1])-(num[P+1]=num[P]);//值的交换式
			}					
		}
		for(P=0;P<10;P++){printf("%d ",num[P]);}//直观显示排序阶段 
		printf("\n");
	}
	
	//输出排序结果部分 
	printf("\nthe order of the numbers from small to large is:\n");
	for(P=0;P<10;P++){printf("%d ",num[P]);
	}
	
	getch();
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值