间接排序的使用方法

使用间接排序能够维持原数据的顺序,在某些情况下很有作用。

首先初始化rank数组:

for(int i=1; i<=n; i++) rank[i]=i;

不再对数据进行直接排序,而是对rank数组进行排序:

sort(rank+1,rank+n+1,cmp);

cmp函数要涉及到真正要排序的数据:

bool cmp(int x,int y)
{
	return a[x]>a[y];
}

最后,使用时和往常一样对i进行操作:

for(int x=1; x<=n; x++){
	i=rank[x];
	//some sentences...
}

思考时不必对rank数组进行考虑,可以理解为数据从a[1]变成了a[rank1],所以如果通过输出变量来调试的话,需要输出rank的下标x,而不是rank[x]。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、圆柱体插座 活动名称:圆柱体插座 教具构成:圆柱体插座4组 第一组:直径和高同时递减 第二组:高固定不变直径递减 第三组:反比例组 第四组:直径不变高度递减 教具目的:直接目的一培养孩子视觉的敏锐性,学习辨别物品大小,高低,粗细的特征。 间接目的一1、培养孩子的逻辑思考能力(配对、排序)。 2、 为书写作准备。 操作方法:配对: 1、邀请孩子,说:“今天我们来圆柱体插座的工作。” 2、双手握住第一组圆柱体插座,把圆柱体插座拿到桌子上(注意一次只出示一组). 3、坐在孩子右手一侧。 4、用三指捏的动作捏住圆柱体的手柄部分,从粗到细把圆柱体抽出,放在插座前。 5、三指捏住最大的圆柱体插座将其插回插座。 6、如此示范2-3个后请孩子尝试。 7、展示结束后可让孩子自由操作一会儿。 8、注意:“每次给孩子展示一组,分成四次展示完。(如图1-1) 排序: 1、请孩子取来第一组圆柱体插座,放在桌子上。 2、将圆柱体插座取出随意混放,通过视觉的辨别找出最大的一个,放在桌子的左边。 3、在从剩余的圆柱体插座中找出最大的一个,放在上一个的右铡,依次类推将其按照由大到小的顺序排列。 4、将排列好的的圆柱体插座一一放回凹曹中,结束工作。 5、注意:每次给孩子展示一组,分成四次展示完。(如图1-2) 三阶段教学法(名称练习): 1、取出最大的和最小的放在一起。 2、用三阶段教学法将两个圆柱体插座的特征“大的”“小的”教给孩子 第一段:命名一介绍概念和物体或名称,把感觉和名称联系起来。用手指着大的圆柱体插座说“这是大的”,重复2-3次并示意孩子模防;用手指着小的圆柱体插座说“这是小的”,重复2-3次。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值