二分链表插入排序


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


本来估摸复杂度为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 文章被收录于专栏

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

全部评论

相关推荐

牛至超人:把哈工大,再加大加粗,看见闪闪发光的哈工大字样,面试官直接流口水
投递字节跳动等公司6个岗位
点赞 评论 收藏
分享
11-23 15:33
已编辑
门头沟学院 Java
CUTMR:换账号试试重启推荐算法,我换账号之后回复率还不错,约莫有个20%左右的消息回复率,前几页、主动招呼的HR也开始符合我期望薪资,此前的大号从招呼、回复、前几页的岗位薪资在涨幅30%+以上 用着用着聊着聊着就变成-20%,而且我开通会员之后直接0面试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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