首页 > 其他分享 >各大排序的模板

各大排序的模板

时间:2024-02-11 14:11:23浏览次数:30  
标签:sort int 各大 -- swap quick 排序 模板

1.冒泡排序

 

 1 for(i=n;i>=1;--i)
 2 {
 3     for(j=1;j<=i;++j)
 4     {
 5         if(a[j]>a[j+1])
 6         {
 7             swap(a[j],a[j+1]);
 8        }
 9     }
10 }

 

 

 

2.快速排序

1.懒人函数 

 

1 sort(a+1,a+n+1);

 

 

 

2.正常的

 1 void quick_sort(int l,int r)
 2 {
 3     int x=l,y=r,z=a[x];
 4     if(x>=y) return;
 5     while(x<y)
 6     {
 7         while(x<y)
 8         {
 9             if(a[y--]<z)
10             {
11                 a[x]=a[++y];
12                 break;
13             }
14         }
15         while(x<y)
16         {
17             if(a[x++]>z)
18             {
19                 a[y]=a[--x];
20                 break;
21             }
22         }
23     }
24     a[x]=z;
25     quick_sort(l,x-1);
26     quick_sort(x+1,r);
27 }

 

3.选择排序

 1 for(int i=1;i<n-1;++i)
 2 {
 3     int minn=0x7fffffff,w;
 4     for(int j=i;j<=n;++j)
 5     {
 6         if(a[j]<minn)
 7         {
 8             minn=a[j];
 9             w=j;
10         }
11     }
12     swap(a[i],a[w]);
13 }

 

 

4.插入排序

 1 for(int i=2;i<=n;++i)
 2 {
 3     int w=i;
 4     for(int j=i;j>=1;--j)
 5     {
 6         if(a[j]>a[w])
 7         {
 8             swap(a[j],a[w]);
 9             w=j;
10         }
11     }
12 }

 

标签:sort,int,各大,--,swap,quick,排序,模板
From: https://www.cnblogs.com/cath20/p/18013340

相关文章

  • 补基础题(排序)
    2299--Ultra-QuickSort(poj.org)#include<iostream>//归并排序#include<cstring>usingnamespacestd;typedeflonglongll;constintN=500010;inta[N],tmp[N],ans;voidmerge_(lll,llmid,llr){inti=l,j=mid+1,t=0;while(i<=mid&......
  • grafana模板参考
     空的,把面板都删除了{"__inputs":[{"name":"DS_PROMETHEUS","label":"Prometheus","description":"","type":"datasource","pl......
  • chapter3-排序和查找
    1.排序排序就是把一组无序的数据变成有序的过程。对于机试而言,直接使用C++封装好的sort函数就可以了。sort函数内部采用快速排序实现,因此非常高效。使用sort函数,需要引用#include<algorithm>头文件,sort(first_address,last_address,compare)有三个参数,first和last待排序序列的......
  • 力扣递归 两道简单题合成一道中等题之148. 排序链表
    递归归并排序,先找到终点,再合并两个链表 给你链表的头结点 head ,请将其按升序排列并返回排序后的链表。 示例1:输入:head=[4,2,1,3]输出:[1,2,3,4]示例2:输入:head=[-1,5,3,4,0]输出:[-1,0,3,4,5]示例3:输入:head=[]输出:[]/** *Definitionforsingl......
  • Link Cut Tree模板(从别人那里拿的)
    可以通过这道题#include<bits/stdc++.h>#defineRregisterint#defineIinlinevoid#defineGif(++ip==ie)if(fread(ip=buf,1,SZ,stdin))#definelcc[x][0]#definercc[x][1]usingnamespacestd;constintSZ=1<<19,N=3e5+9;charbuf[SZ],*ie=buf+SZ,*ip=......
  • 通达信竞开强度排序指标公式源码
    {股票指标}今开:(OPEN/REF(CLOSE,1)-1)*100,NODRAW;创业板:=IF(CODELIKE('300'),1,0);排除一字:=REF((((今开<9.8ANDNOT(创业板))OR(今开<19.5AND创业板))=0),0);涨停创:=IF(C>1.1990*REF(C,1)ANDC=H,1,0);涨停主:=IF(C>1.09*REF(C,1)ANDC=H,1,0);涨停数:=(涨......
  • BootstrapBlazor 模板适配移动设备使用笔记
    项目模板BootstrapBlazorApp模板为了方便大家利用这套组件快速搭建项目,作者制作了项目模板(ProjectTemplates),使用dotnetnew命令行模式,使用步骤如下:安装项目模板dotnetnewinstallBootstrap.Blazor.Templates::8.0.1创建工程dotnetnewbbapp官网教程https:......
  • Liquid模板引擎简单使用
    最近在写一个配置表导出工具,自动生成代码那边会用到模板引擎,所以就熟悉了下Liquid的使用。 需要用到一个DotLiquid的库usingDotLiquid;varlqTemplate=Template.Parse(templateContent);vartemplateHash=newHash();//todo逻辑部分using(varsw=newStrea......
  • hexo如何修改文章排序
    hexo默认情况下以编写时间的先后来排序,后写的后出现按照以下方法可为文章添加top属性来排序首先在cmd中输入以下命令首先要切入hexo所在的文件夹,否则生成页面会报错npmuninstallhexo-generator-index--savenpminstallhexo-generator-index-pin-top--save然后在文......
  • 设计模式-模板方法模式(Template Method Pattern)
    #模板方法模式(TemplateMethodPattern)-记忆关键字:模板方法-定义:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤-类型:行为型-![UML类图](./design-pattern.png)##1.涉及的角色1)Abstr......