![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
风吹乱了花丛
这个作者很懒,什么都没留下…
展开
-
本地AC在线提交代码RE
常见“我在本地/xxOJ AC了、网上提交代码却不过”的原因嗯,最近遇到挺多的,就总结一下吧~洛谷为例:(主要考虑 系统之间的差别:洛谷测评系统搭建在Linux系统)一般情况:1、2、注意一下数据范围问题,比如:用int接受10^5,也会出现RE;ps:浮点数不能直接比较,常用 if (fabs(price - p) < 0.000001) 代替 if (price...原创 2020-01-21 13:19:51 · 1252 阅读 · 0 评论 -
sort排序函数
sort函数可以排序任何类型的函数,包括自己写的结构体 (sort函数效率高)头文件#include<algorithm>排序数值从小到大int num[10]={1,9,3,5,6,7,4,3,32,2};//sort(num+i,num+j),从num[i]到num[j-1]之间的元素进行排序sort(num,num+10);//从num[0]--num[9]...原创 2019-06-03 22:37:27 · 5824 阅读 · 0 评论 -
C++字符串string常用函数、技巧
string 与 int 互相转换单个互相转换:#include<string>//string -> int string str="6";//双引号int a=str[0]-'0';//int -> stringint a=6;string str=a+'0';// 多个转换:#include<stdlib.h>#include...原创 2019-06-03 21:37:36 · 507 阅读 · 0 评论 -
桶排序
元素分布在桶中:然后,元素在每个桶中排序:#include<iostream>using namespace std; int main(){ int a[11]; for(int i=0;i<=10;i++) a[i]=0; //初始化为0 for(int i=1;i<=5;i++...原创 2019-05-30 21:11:37 · 93 阅读 · 0 评论 -
快速排序
算法步骤从数列中挑出一个元素,称为 “基准”(pivot);重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作;递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序;Paritition1(int A[], int l...原创 2019-05-30 21:03:23 · 160 阅读 · 0 评论 -
希尔排序
希尔排序(1)希尔排序(shell sort)这个排序方法又称为缩小增量排序,是1959年D·L·Shell提出来的。该方法的基本思想是:设待排序元素序列有n个元素,首先取一个整数increment(小于n)作为间隔将全部元素分为increment个子序列,所有距离为increment的元素放在同一个子序列中,在每一个子序列中分别实行直接插入排序。然后缩小间隔increment,重复上述子序列划...转载 2019-05-30 20:50:31 · 112 阅读 · 0 评论 -
插入排序
算法步骤将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。(如果待插入的元素与有序序列中的某个元素相等,则将待插入元素插入到相等元素的后面。)void insertion_sort(int arr[],int len){//从小到大排序 for(int i=1;i<l...原创 2019-05-30 20:10:28 · 82 阅读 · 0 评论 -
选择排序
void swap(int *a,int *b) //交換兩個變數{ int temp = *a; *a = *b; *b = temp;}void selection_sort(int arr[], int len) { int i,j; for (i = 0 ; i < len - 1 ; i++) { int mi...原创 2019-05-30 19:54:39 · 96 阅读 · 0 评论 -
冒泡排序
冒泡排序#include<iostream>using namespace std;int main(){ int a[8]={1,2,4,5,6,4,2,8}; for(int i=0;i<8;i++) for(int j=i+1;j<8;j++) if(a[i]>a[j]) { int t=a[i]; a[i]=a[j...原创 2019-05-30 19:37:18 · 2810 阅读 · 4 评论