二分链表插入排序


这玩意儿,效率一般...


本来估摸复杂度为O(nlogn),但似乎用stl后更高?

代码:
//#pragma GCC optimize()//手动Ox优化
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+1;
vector<int>s;
int siz;
int main(){
    int n;
    scanf("%d",&n);
    for(int i=1;i<=n;++i){
        int x;
        scanf("%d",&x);
        int l=0,r=siz-1,ans=-1;
        while(l<=r){
            int mid=(l+r)>>1;
            if(s[mid]<=x){
                ans=mid;
                l=mid+1;
                continue;
            }
            r=mid-1;
        }
        s.insert(s.begin()+ans+1,x);
        siz++;
    }
    for(int i=0;i<siz;++i){
        printf("%d ",s[i]);
    }
    return 0;
}
/**
*  ┏┓   ┏┓+ +
* ┏┛┻━━━┛┻┓ + +
* ┃       ┃
* ┃   ━   ┃ ++ + + +
*  ████━████+
*  ◥██◤ ◥██◤ +
* ┃   ┻   ┃
* ┃       ┃ + +
* ┗━┓   ┏━┛
*   ┃   ┃ + + + +Code is far away from  
*   ┃   ┃ + bug with the animal protecting
*   ┃    ┗━━━┓ 神兽保佑,代码无bug 
*   ┃        ┣┓
*    ┃        ┏┛
*     ┗┓┓┏━┳┓┏┛ + + + +
*    ┃┫┫ ┃┫┫
*    ┗┻┛ ┗┻┛+ + + +
*/

非常简单的实现没有什么好讲的,主要是链表的插入具有易实现的特点,才弄出的
ThinkofBlank’s 文章被收录于专栏

一堆杂七杂八的东西。。。

全部评论

相关推荐

10-03 17:08
已编辑
西安电子科技大学 Java
点赞 评论 收藏
分享
11-15 13:12
已编辑
门头沟学院 Java
斯卡蒂味的鱼汤:知道你不会来数马,就不捞你😂最近数马疯狂扩招,招聘要求挺低的,你能力肯定够,应该就是因为太强了,知道你不会来才不捞你
投递腾讯云智研发等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务