sort

sort排序使用以及lower_bound( )和upper_bound( )

无人久伴 提交于 2019-12-06 03:21:42
sort()原型: sort(first_pointer,first_pointer+n,cmp) 排序区间是[first_pointer,first_pointer+n) 左闭右开 参数1:第一个参数是数组的首地址,一般写上数组名就可以,因为数组名是一个指针常量。 参数2:第二个参数相对较好理解,即首地址加上数组的长度n(代表尾地址的下一地址)。 参数3:默认可以不填,如果不填sort会默认按数组升序排序。也就是1,2,3,4排序(注意这一种只适合于数组,对于结构体就不可行了)。也可以自定义一个排序函数,改排序方式为降序什么的,也就是4,3,2,1这样。 1 bool cmp(struct_name a,struct_name b) 2 { 3 return a.变量名>b.变量名; //如果是这一种那么就是按此变量从大到小排序 4 return a.变量名<b.变量名; //如果是这一种那么就是按此变量从小到大排序 5 return b.变量名<a.变量名; //如果是这一种那么就是按此变量从大到小排序 6 return b.变量名>a.变量名; //如果是这一种那么就是按此变量从小到大排序 7 } 对于数组排序还可以使用标准库中定义好的函数: 升序:sort(begin,end,less<data-type>()) 降序:sort(begin,end,greater<data

spark shell操作

亡梦爱人 提交于 2019-12-06 03:17:37
RDD有两种类型的操作 ,分别是Transformation(返回一个新的RDD)和Action(返回values)。 1.Transformation:根据已有RDD创建新的RDD数据集build (1)map(func):对调用map的RDD数据集中的每个element都使用func,然后返回一个新的RDD,这个返回的数据集是分布式的数据集。 (2)filter(func) :对调用filter的RDD数据集中的每个元素都使用func,然后返回一个包含使func为true的元素构成的RDD。 (3)flatMap(func):和map很像,但是flatMap生成的是多个结果。 (4)mapPartitions(func):和map很像,但是map是每个element,而mapPartitions是每个partition。 (5)mapPartitionsWithSplit(func):和mapPartitions很像,但是func作用的是其中一个split上,所以func中应该有index。 (6)sample(withReplacement,faction,seed):抽样。 (7)union(otherDataset):返回一个新的dataset,包含源dataset和给定dataset的元素的集合。 (8)distinct([numTasks])

c#_sort排序函数的返回值

女生的网名这么多〃 提交于 2019-12-06 02:56:42
C# List.Sort函数的返回值 值 含义 小于零 left在right的前面 零 位置不变 大于零 right在left的前面 示例: 本测试结果在unity3d 和纯C#环境下执行。 List<int> list = new List<int>(); list.Add(1); list.Add(4); list.Sort((left,right)=>{ return 1; }); //排序后是:4,1 list.Sort((left,right)=>{ return -1; }); //排序后是:1,4 从小到大排序的返回值写法 list.Sort((left,right)=>{ return left-right; }); 从大到小排序的返回值写法 list.Sort((left,right)=>{ return right-left; }); 来源: https://www.cnblogs.com/zhaoqingqing/p/11760117.html

MongoDB

走远了吗. 提交于 2019-12-06 00:17:57
介绍 MongoDB是一款强大、灵活、且易于扩展的通用型数据库 易用性 MongoDB是一个面向文档(document-oriented)的数据库,而不是关系型数据库。 不采用关系型主要是为了获得更好得扩展性。当然还有一些其他好处,与关系数据库相比,面向文档的数据库不再有“行“(row)的概念取而代之的是更为灵活的“文档”(document)模型。 通过在文档中嵌入文档和数组,面向文档的方法能够仅使用一条记录来表现复杂的层级关系,这与现代的面向对象语言的开发者对数据的看法一致。 另外,不再有预定义模式(predefined schema):文档的键(key)和值(value)不再是固定的类型和大小。由于没有固定的模式,根据需要添加或删除字段变得更容易了。通常由于开发者能够进行快速迭代,所以开发进程得以加快。而且,实验更容易进行。开发者能尝试大量的数据模型,从中选一个最好的。 易扩展 应用程序数据集的大小正在以不可思议的速度增长。随着可用带宽的增长和存储器价格的下降,即使是一个小规模的应用程序,需要存储的数据量也可能大的惊人,甚至超出 了很多数据库的处理能力。过去非常罕见的T级数据,现在已经是司空见惯了。 由于需要存储的数据量不断增长,开发者面临一个问题:应该如何扩展数据库,分为纵向扩展和横向扩展,纵向扩展是最省力的做法,但缺点是大型机一般都非常贵,而且 当数据量达到机器的物理极限时

sort 结构体排序

痞子三分冷 提交于 2019-12-05 20:48:57
sort(q,q+n,cmp); bool cmp (node a node b); 省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。经过调查评估,得到的统计表中列出了有可能建设公路的若干条道路的成本。现请你编写程序,计算出全省畅通需要的最低成本。 Input测试输入包含若干测试用例。每个测试用例的第1行给出评估的道路条数 N、村庄数目M ( < 100 );随后的 N 行对应村庄间道路的成本,每行给出一对正整数,分别是两个村庄的编号,以及此两村庄间道路的成本(也是正整数)。为简单起见,村庄从1到M编号。当N为0时,全部输入结束,相应的结果不要输出。 最小 要排序 结构体 储存是会换的 值 并查集 。 来源: https://www.cnblogs.com/hahaee/p/11946424.html

C++ 的 sort() 函数

烈酒焚心 提交于 2019-12-05 20:20:38
头文件 <algorithm> sort(begin, end, cmp) 1.其中 begin 为指向待 sort() 的数组的第一个元素的指针, end 为指向待 sort() 的数组的 最后一个元素的下一个位置 的指针。sort(a,a+n); 2.cmp 参数为排序准则,如果没有的话,默认以升序排序。 3.降序cmp参数 bool cmp(int a,int b) { return a>b; } 来源: https://www.cnblogs.com/When6/p/11945107.html

nginx常用运维日志分析命令

跟風遠走 提交于 2019-12-05 20:17:29
nginx常用日志分析命令 运维人员必备 常用日志分析命令 1、总请求数 wc -l access.log |awk '{print $1}' 2、独立IP数 awk '{print $1}' access.log|sort |uniq |wc -l 3、每秒客户端请求数 TOP5 awk -F'[ []' '{print $5}' access.log|sort|uniq -c|sort -rn|head -5 4、访问最频繁IP Top5 awk '{print $1}' access.log|sort |uniq -c | sort -rn |head -5 5、访问最频繁的URL TOP5 awk '{print $7}' access.log|sort |uniq -c | sort -rn |head -5 6、响应大于10秒的URL TOP5 awk '{if ($12 > 10){print $7}}' access.log|sort|uniq -c|sort -rn |head -5 7、HTTP状态码(非200)统计 Top5 awk '{if ($13 != 200){print $13}}' access.log|sort|uniq -c|sort -rn|head -5 8、分析请求数大于50000的源IP的行为 awk '{print $1}'

快速排序实现

一世执手 提交于 2019-12-05 19:53:45
1 #include<stdio.h> 2 int a[] = {23,46,0,8,11,18}; 3 void qsort(int left,int right){ 4 if(left>=right){ 5 return; 6 } 7 int i = left; 8 int j = right; 9 int key = a[i]; 10 while(i<j){ 11 while(i<j&&a[j]>key){ 12 j--; 13 } 14 a[i] = a[j]; 15 while(i<j&&a[i]<key){ 16 i++; 17 } 18 a[j] = a[i]; 19 } 20 a[i] = key; 21 qsort(left,i-1); 22 qsort(i+1,right); 23 } 24 int main(){ 25 qsort(0,5); 26 int i=0; 27 for(;i<6;i++){ 28 printf("%d\n",a[i]); 29 } 30 return 0; 31 } 来源: https://www.cnblogs.com/zgang/p/11943051.html

自定义数据类型使用sort排序

混江龙づ霸主 提交于 2019-12-05 18:08:53
1 #include<iostream> 2 #include<algorithm> 3 using namespace std; 4 struct tree{ 5 string zfc; 6 int a; 7 /*bool operator<(const tree &a) 8 { 9 if(zfc<a.zfc) 10 return true; 11 else if(zfc==a.zfc) 12 { 13 return this->a<a.a; 14 } 15 return false; 16 }*/ 17 /* 这里的const 和&都可以省略*/ 18 }; 19 /* 随便写在里面外面,加不加const和&都不影响sort排序*/ 20 bool operator<(tree a,tree b) 21 { 22 if(a.zfc<b.zfc) 23 return true; 24 else if(a.zfc==b.zfc) 25 { 26 return a.a<b.a; 27 } 28 return false; 29 } 30 bool cmp(tree a,tree b) 31 { 32 if(a.zfc<b.zfc) 33 return true; 34 else if(a.zfc==b.zfc) 35 { 36 return a.a<b.a; 37 } 38

算法与数据结构

烂漫一生 提交于 2019-12-05 16:36:13
代码基于Python3 1. 算法的特征? 有穷性: 一个算法必须保证执行有限步骤之后结束; 确切性: 算法的每一步骤必须有确切的定义; 输入:一个算法有 0 个或多个输入,以刻画运算对象的初始情况,所谓 0 个输入是指算法本身给出了初始条件; 输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的; 可行性: 算法原则上能够精确地运行,而且人们用笔和纸做有限次数运算后即可完成。 2.冒泡排序的思想 冒泡思想:通过无序区中相邻记录的关键字间的比较和位置的交换,使关键字最小的记录像气泡一样逐渐向上漂至水面。整个算法是从最下面的记录开始,对每两个相邻的关键字进行比较,把关键字较小的记录放到关键字较大的记录的上面,经过一趟排序后,关键字最小的记录到达最上面,接着再在剩下的记录中找关键字次小的记录,把它放在第二个位置上,依次类推,一直到所有记录有序为止 复杂度:时间复杂度为 O(n²),空间复杂度为 O(1) def bubble_sort(alist): """冒泡排序""" for j in range(len(alist)-1, 0, -1): # j表示每次遍历需要比较的次数,是逐渐减小的 for i in range(j): if alist[i] > alist[i+1]: alist[i], alist[i+1] = alist[i+1],