zoukankan      html  css  js  c++  java
  • 二分链表插入排序

    非常简单的实现没有什么好讲的,主要是链表的插入具有易实现的特点,才弄出的这玩意儿,效率一般...

    本来估摸复杂度为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 
    *   ┃        ┣┓
    *    ┃        ┏┛
    *     ┗┓┓┏━┳┓┏┛ + + + +
    *    ┃┫┫ ┃┫┫
    *    ┗┻┛ ┗┻┛+ + + +
    */
  • 相关阅读:
    git
    浏览器喧嚷过程
    B/S架构与C/S架构
    simpleDateFormat
    oracle中case when的用法
    Java程序利用Jdbc连接数据库
    List 和 Set与Map
    队列和栈
    toString方法分析
    java中的构造器
  • 原文地址:https://www.cnblogs.com/ThinkofBlank/p/10146417.html
Copyright © 2011-2022 走看看