问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

让一组数字按大到小排序之后,查出每个数字在第几位,再显示出来,怎么实现(php)

发布网友 发布时间:2022-04-07 07:03

我来回答

4个回答

懂视网 时间:2022-04-07 11:24

简单意义上的桶排序:

● 桶排序的原理是先安排N+1个桶作为容器,若数据范围为N的话。

● 然后将测试数据(所需排序的数据)进行循环,放入对应的桶内。数据一定是在范围N内的。

● 最后,循环桶里的元素,并且输出,进行从大到小或从小到大的排序。

例如:

● 我们的取值范围是10,那么就要定义一个 11长度的数组$arr. 并且让所有的元素值都为0

● 然后,对需要排序的数组进行循环 如5,3,5,2,8.

● 将数据依次对应$arr桶数组内元素,即 如果是5,则使$arr[5]++.

● 这时候 $arr[2]=1 $arr[3]=1 $arr[5]=2 $arr[8]=1

● 然后循环$arr的数组,若$arr[2]=1,则循环输出元素2一次,$arr[5]=2,则循环输出5两次

● 结果输出即为 2 3 5 5 8

● 如果循环数值是从大到小 则会是从大到小的排序

<?php
//设置默认数组,默认值为0;
$arr = array();
for ($i = 0; $i <= 10; $i++) {
 $arr[$i] = 0;
}
//设置测试的五个数据
$arr1 = array(5, 3, 5, 2, 8);
//根据数据 对默认数组的对应元素进行+1; J的取值范围不能等于$arr1数组长度 
for ($j = 0; $j < count($arr1); $j++) {
 //这边给相应的数组值+1
 $arr[$arr1[$j]]++;
}
//开始循环输出 默认数组 $arr 里面相应的值
for ($k = 0; $k <= 10; $k++) {
 
 for ($l=1; $l <=$arr[$k]; $l++) { 
 echo "$k </n>";
 }
}
?>

缺点:

● 浪费空间.

● 无法进行浮点数据的排序.

更多编程相关内容,请关注Gxlcms编程入门栏目!

热心网友 时间:2022-04-07 08:32

<?php
$a = range(1, 10000);
$a = array_rand($a, 10); //$a 替换成你需要的数组
function arr_sort($arr) {
rsort($arr);
foreach($arr as $k => $v){
echo '第 ', $k + 1, ' 位数字是: ', $v, "<br />\n";
}
}
arr_sort($a);
?>

热心网友 时间:2022-04-07 09:50

//将数组放入数组中=>
$ary=array(6,7,4,2,8,0);
sort($ary);#自然排序
rsort($ary);#逆转数组

for($i=0;$i<count($ary);$i++)
{
echo $ary[$i]."在第".$i."个位置";

}

热心网友 时间:2022-04-07 11:25

如果你给过来的是这组数字是数组的话那就好办,很简单的,如 $array_int = array(1,22,4,55,5,66,44,3,2,19,23,34,54);
rsort($array_int, SORT_NUMERIC);
$array_int = array_flip($array_int);

// 显示值55的位置
echo $array_int['55']; // 输出的是55在数组$array_int中排在第几位
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我的世界手游 我的世界手机上的基岩版登录后为什么不能联机? 我的世界为什么联机进不去 联机我的世界方法 聚四氟乙烯生料带价格是多少 如何选购聚四氟乙烯带 聚四氟乙烯多少钱 路由器的用户名和密码天翼宽带zxhnf420 我想用无线上网,电信送的猫是zxhn f420,我买了个路由器是WNR500的型号... 我买的保险十年的交完了退保能退多少钱 平安你险买一年三千五买了一年想退出退回多少钱? 我买的是人寿保险交了一年想退保能退多少钱? 魔兽冰封王座的暗夜怎样灭一个简单的? 为啥我一用wegame下载游戏,就错误代码7001008 wegame下载游戏安装失败7001263- 问一问 wegame安装失败错误码- 问一问 婴儿米粉能怎么做好吃 家里宝宝9个月了,添加辅食自制的与窝小芽选哪个好一些? 婴儿米粉吃不完大人怎么吃法 吃不完的米粉可以做什么 七个月宝宝辅食都吃什么,怎么做 米粉怎么做才能让宝宝喜欢吃? 九阳豆浆机维修点 九阳电陶炉服务电话? 请问九阳客服电话是多少? 营口九阳售后维修点电话? 九阳压力锅的售后电话? 九阳人工客服电话是多少? 请问九阳客服电话是什么? 抖音实名认证可以改么?怎么改?- 问一问 请问九阳客服电话号码是多少? 快手创新合伙人是什么意思 九阳电压力锅客服电话? 幼儿园小达人称号有哪些 苹果充电头和安卓手机的充电头能通用吗?真的不懂,我只是问充电头 幼儿园宝贝奖状称号有哪些? 苹果手机可以用安卓手机的充电头吗 会不会毁手机 幼儿园教师荣誉称号有哪些? 智慧养老有什么优势?智慧养老与传统养老的区别是什么?最近看到壹零后智慧养老做的不错,有了解的吗? 智慧养老有什么优势?智慧养老与传统养老的区别是什么?最近看到小椅相伴智慧养老做的不错,有了解的吗? 智慧养老产业前景如何? 智慧养老是什么? 关于不锈钢的。什么是202,304?怎样辨别二者? 关于202雀斑水!或者推荐雀斑有关的方法~~ 毛肚哪里有卖 毛肚在哪买 我的世界202是谁 带大粪的毛肚在哪买 谁知道中国民事诉讼法第202条是什么啊??? 关于202雀斑水 有卖毛肚的吗? 为什么没有少女202 怎么删除搜狗输入法的输入历史