好玩的排序已经被林子航讲的差不多了,我们讲点别的。

1.许家印排序

代码演示:

#include<iostream>
using namespace std;

int a[1005],n;

int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
  
    cout<<"正在排序中";
  
    return;
}

代码核心:没有排序,但是让你觉得他在排序

时间复杂度

O(1)O(1) 吓哭了,我说全网最快有人懂?

空间复杂度

O(1)O(1) 666还是太有手法了。

依旧空程计

我排序就是为了让你运行,你都运行了我还排序啥?

2. Brezhnev‌排序

代码演示:

#include<iostream>
using namespace std;

int a[1005],n;

int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
  
    for(int i=1;i<=n;i++){
        a[i]=i;
        cout<<a[i]<<' ';
    }
  
    return;
}

代码核心:直接填好数,理论上排序了……

时间复杂度

O(n)O(n) 还是没上面的快

空间复杂度

O(1)O(1) 毕竟没有额外数组

直接给这些数据发勋章!

3.Trump排序

代码如下

#include<iostream>
using namespace std;

int a[1005],n;

int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
  
    for(int i=1;i<=n;i++){
        a[i]=a[rand()%n+1];
        cout<<a[i]<<' ';
    }
  
    return;
}

代码核心:随机排序

时间复杂度

O(n)O(n)

空间复杂度

O(1)O(1)

无序排序!