アルゴリズム - PHP を使用してスコアランキングを実装する方法、何か良いアイデアはありますか?
世界只因有你
世界只因有你 2017-05-16 13:16:24
0
5
1042

生徒のスコアのランキングを作成します。スコアは配列になります。
例: $scores = array(90,100,100); 自定义函数实现返回数组 $rank(3,1,1);

世界只因有你
世界只因有你

全員に返信(5)
过去多啦不再A梦

<?php

リーリー

?>

これはあなたのニーズを満たすことができますが、質問があります。この 2 つはテストで 99 点を取った方が 2 位になるべきではないでしょうか。

いいねを押す +0
左手右手慢动作

質問者が望んでいるのは、元の配列の順番(紐付け可能)でランキングを表示することです。一般的な考え方は、元の配列に位置情報を追加し、並べ替えた結果に基づいてランキング配列を逆に構築することです。書き出すと少し長いです:

リーリー

n位同率でn位の人が複数いる場合、次の人はn+1人目となりますので、質問者様の例とは少し異なりますのでご注意ください。アルゴリズム全体の複雑さのボトルネックはソートであり、O(n lgn) です。

いいねを押す +0
Ty80

PHP 独自の配列ソート関数を使用しますか?

いいねを押す +0
phpcn_u1582

http://www.php.net/manual/zh/...
組み込みのデータ並べ替えで問題を解決できるはずです

いいねを押す +0
我想大声告诉你

まずこの配列をスコアで並べ替えてから、この配列を逆挿入します。あとはスコアに応じてキーを入手するだけです。

さらに: スコアはデータベースに書き込まれないため、順番に取り出されます

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!