什么叫选择排序,来看看女朋友和她闺蜜你就会了!

背景

我和我女朋友以及她的闺蜜们五黑打王者荣耀,到了荣耀后始终上不去王者。每天互相指责,总觉得别人坑,后来又有一位闺蜜小D想加入车队。这下,我和她们一起玩游戏的地位不保啊!为了找到问题的根源(找到最垃圾的真凶),我提出大家彼此solo一下,排个名,找到最后一名就行。于是我们开启了反向淘汰赛,谁输谁晋级:
反向淘汰赛
方案我刚说出去,就被她们否决了,她们一致认为,有轮空就不公平。而且她们还希望有人比赛的时候,其他人能观战,不能同时两队一起比。所以就改成了这样:
简单选择

比赛过程

  1. 首先是我和小A比赛,我轻而易举赢下比赛,然后安心观战,小A输了比赛成功晋级,开始和我女朋友比赛。
  2. 我女朋友和小A打得昏天暗地,不分伯仲。打架
    为防止我女朋友输掉比赛,以至于我没办法和她闺蜜一起玩耍。我夺了她的手机当了代打成功拿下比赛。于是小A开始和小B开始比赛。
  3. 小B因为不敢补兵,被小A压在塔下而输掉比赛,于是小B和小C开始比赛。
  4. 小C接连输给了小B、小D。一路败北,最终拿下Loser称号,成功展露出她划水的行为。

比赛结果

比赛结果

结局

小C划水行为的曝光势必会因此退出五黑队伍,由小D代替。然而结局却是小D成功代替了我的位置进行五黑,理由是大家认为小C一个人玩游戏太可怜了。
于是之后的每天,我只能每天看着女朋友和她闺蜜一起打游戏。直到那刻我才明白,什么叫 君让臣死,臣不得不死,什么叫欲加之罪何患无辞

反思

正当我想把这件事记录在小本本上时,发现今天用的方法叫选择排序,而且仅做了一轮排序,那么我们将此逻辑转换为代码,来复习一下选择排序:

public int[] selectSort(int[] arr) {
        if (arr!=null && arr.length >= 2)      //至少两个元素
        {
	        for (int i = 0; i < arr.length - 1; i++) {  //最后一个元素不用排序。
	            int loser= i;                       //初始的时候就认为loser是待排部分的第一个元素
	            for (int j = i + 1; j < arr.length; j++) {  //让当前i元素和i之后的元素分别比较
	                loser= arr[j] < arr[loser] ? j : loser;//谁输谁loser
	            }
	            //开始交换
	            int temp = arr[i];     
	            arr[i] = arr[loser];
	            arr[loser] = temp;
	        }
        }
        return arr;
    }
原创文章 9 获赞 16 访问量 1779

猜你喜欢

转载自blog.csdn.net/weixin_44159662/article/details/106154919