排序经常会在一个程序里面用到,但当排序范围较大时,时间复杂度所带来的问题就显得尤其明显,今天就总结了一个排序的自定义函数,有点小复杂,但是执行效率却是杠杠的,在竞赛里也会大幅减小超时的可能。

话不多说,奉上代码:

void sort(int a[],int left ,int right)
{int i,j,temp;i=left;j=right;temp=a[left];if(left>right) return;while(i!=j){while(a[j]>=temp&&j>i)j--;if(j>i)a[i++]=a[j];while(a[i]<=temp&&j>i)i++;if(j>i)a[j--]=a[i];}a[i]=temp;sort(a,left,i-1);sort(a,i+1,right);
}

这个函数的含义是:将某一数组从第几下标的元素到第几下标的元素之间的范围内进行从小到大的排序。这个函数可以做到交换数字的次数尽量少。

C语言高效自定义sort函数(排序)相关推荐

  1. sort函数排序字母c语言,c语言数组用sort函数排序?

    c语言运用sort 排序函数,需要的头文件是什么? sort不属于C语言的标准函数,所以也没有相应的头文件,但是可以自定义. sort 函数为将整型数组从小到大排序. voidsort(int*a,i ...

  2. R语言dplyr包arrage函数排序dataframe实战:单列排序、多列排序、自定义排序

    R语言dplyr包arrage函数排序dataframe实战:单列排序.多列排序.自定义排序 目录 R语言dplyr包arrage函数排序dataframe实战:单列排序.多列排序

  3. c++ sort函数排序---vector

    c++ sort函数排序–vector 1.头文件#include < algorithm>和using namespace std; 2.它使用的排序方法是类似于快排的方法,时间复杂度为 ...

  4. sort函数排序字母c语言,C语言sort函数

    C语言的sort函数是一类用于数组排序的函数以下是其简单的使用: 1.头文件: #include 2.使用命名空间: using namespace std; 3.函数形式: sort(数组名,数组名 ...

  5. c++自定义sort()函数的排序方法

    1. 引言 在C++中,sort()函数常常用来对容器内的元素进行排序,先来了解一下sort()函数. sort()函数有三个参数: 第一个是要排序的容器的起始迭代器. 第二个是要排序的容器的结束迭代 ...

  6. c语言sort函数排序二维数组,c++ - 如何使用stl sort函数根据第二列对二维数组进行排序? - 堆栈内存溢出...

    stl排序要求迭代器的rvalue作为参数传递. 如果你想使用sort函数,你必须在c ++ 11中编译并使用数组stl来存储数组. 代码如下 #include "bits/stdc++.h ...

  7. c语言sort函数排序二维数组,关于C++ 的 sort 对二维数组排序。该如何解决

    关于C++ 的 sort 对二维数组排序. 有一个二维数组.假设是 N * N: 需要对某个位置的X(横向排序).或者某个位置的Y(纵向排序). 例如: 4 6 5 1 3 2 8 7 9 对 2 行 ...

  8. sort()函数排序vector

    sort()函数默认的排序方式为升序,如果需要降序排序,可以自定义排序函数 bool comp(int x ,int y) {return x > y; } 对vector 进行排序时 sort ...

  9. C++中的sort函数排序(快速排序)

    优点:排序快,时间复杂度约为log(n)级别 缺点:不稳定,例如两个同样的数,排序后第一个出现的可能在前,也可能在后. 例如排序5,4,3,3排序后为3,3,4,5,原始序列第一个3可能在排序后会成为 ...

最新文章

  1. 计算机课组会议讲话,在计算机部教师会议上的讲话
  2. Windows下Oracle的下载与安装
  3. TypeScript 里 .d.ts 文件的用处
  4. CRM呼叫中心inbox里interact操作介绍
  5. java学习(161):同步代码块
  6. 排序算法:快速排序算法实现及分析(递归形式和非递归形式)
  7. react可视化_如何使用React和Popmotion.io可视化煎饼算法
  8. 七夕祝福网页制作_啥?七夕过了你还不知道自己为啥单身??
  9. 创业宝典:未来企业家之路(第5版)
  10. 哈佛大学凌晨4点半的景象
  11. java简历包装项目经验,项目实战
  12. mouseover 和 mouseenter的区别
  13. Win10电脑关机后立即自动重启怎么办
  14. FAT32学习笔记(五)——fat相关工具
  15. pyinstaller 打包exe 防反编译(加密)
  16. 云服务器之部署私人云盘
  17. day16多线程网络编程日志枚举
  18. 大数据技术之 HBase安装配置
  19. Symbian模拟器启动流程
  20. 分贝测试发型软件,‎测量工具-分贝噪音测试尺子角度AR测距 im App Store

热门文章

  1. 如何在word中插入页眉。
  2. Android微信登录以及分享集成步骤
  3. 遥控器的键位功能的实现
  4. 阿武老师百搭傲娇句式1
  5. python中的各种符号
  6. 递归和迭代的效率比较
  7. C语言小游戏 飞机大战
  8. 华为p9连接计算机,华为手机怎么连接电脑数据传输照片(1分钟教会你步骤非常简单)...
  9. “一城一亿人”,呼唤自动驾驶时代
  10. C语言_字符串的地址以及指向字符串的指针变量的定义