简单排序
Keep_Trying_Go
无
展开
-
基数排序算法
#include<iostream>#include<algorithm>#include<cstring>#include<cmath>#include<queue>#include<list>using namespace std;const int maxx=10;int pa[maxx];int n;template<class T>class Queue{ private: l...原创 2021-05-04 13:34:49 · 125 阅读 · 0 评论 -
堆排序算法
#include<iostream>#include<algorithm>#include<cstring>#include<cmath>using namespace std;const int maxx=105;int pa[maxx];int n;void PercolateDown(int pos,int size){ int p=pos,c=2*p+1; int temp=pa[p]; while(c<size){ .原创 2021-05-04 12:53:42 · 126 阅读 · 0 评论 -
直接选择排序算法
#include<iostream>#include<algorithm>#include<cstring>#include<cstdio>using namespace std;const int maxx=105;int pa[maxx];int n;void SelectSort(int pa[],int n){ for(int i=0;i<n-1;i++){ int min=i; for(int j=1+i;j<.原创 2021-05-04 12:41:53 · 115 阅读 · 0 评论 -
起泡排序算法
#include<iostream>#include<algorithm>#include<cstring>#include<cmath>using namespace std;void swap(int*a,int*b){ int temp; temp=*a; *a=*b; *b=temp;}void Bubbesort(int*pa,int n){ int temp; int i=0; while(i<n-1){ i.原创 2021-05-04 12:32:31 · 173 阅读 · 0 评论 -
希尔排序算法
#include<iostream>#include<algorithm>#include<cmath>#include<cstring>using namespace std;void Shellsort(int pa[],int n){ int temp; int gap=n/2; while(gap){ for(int i=gap;i<2*gap&&i<n;i++){ for(int j=i;j&l.原创 2021-05-04 11:46:21 · 85 阅读 · 0 评论 -
折半插入排序算法
#include<iostream>#include<algorithm>#include<cmath>#include<cstring>using namespace std;void Binarysort(int pa[],int n){ int temp; for(int i=1;i<n;i++){ temp=pa[i]; int left=0,right=i-1; while(left<=right){ ..原创 2021-05-04 11:34:13 · 98 阅读 · 0 评论 -
直接插入排序算法
#include<iostream>#include<algorithm>#include<cmath>#include<cstring>using namespace std;void InsertSort(int pa[],int n){ for(int i=1;i<n;i++){ int j=i; int temp=pa[i]; while(j>=1&&temp<pa[j-1]){ pa[.原创 2021-05-04 11:04:13 · 100 阅读 · 0 评论 -
快速排序算法
基准元素的选取方法:(1)取第一个元素。即以待排序序列的首元素作为基准元素。(2)取最后一个元素。即以待排序序列的尾元素作为基准元素。(3)取位于中间位置的元素,即以待排序序列的中间位置元素作为基准元素。#include<iostream>#include<algorithm>#include<cstring>#include<cmath>using namespace std;const int maxx=1e3+10;const int原创 2021-05-01 00:02:51 · 127 阅读 · 1 评论 -
合并排序算法
1.算法思想:合并排序是采用分治策略实现对N个元素进行排序的算法,是分治法的一个典型应用和完美体现,它是一种平衡,简单的二分分治策略,计算过程分为三步:(1)分解:将待排序元素分成大小大致相同的两个子序列。(2)求解子问题:用合并排序法分别对两个子序列递归地进行排序。(3)合并:将排好序的有序子序列进行合并,得到符合要求的有序序列。例如:设待排序序列A=<8,3,2,9,7,1,5,4>,采用合并排序算法对序列A进行排序。#include<stdio.h>#incl原创 2021-05-01 00:03:07 · 11638 阅读 · 6 评论 -
关于优先队列的一些基本操作
1.基本操作:empty() 如果队列为空,则返回真pop() 删除对顶元素,删除第一个元素push() 加入一个元素size() 返回优先队列中拥有的元素个数top() 返回优先队列对顶元素,返回优先队列中有最高优先级的元素在默认的优先队列中,优先级高的先出队。在默认的int型中先出队的为较大的数。头文件:#include 2.priority_queue<vector, less > pq1; // 使用递增less函原创 2021-03-12 00:01:13 · 562 阅读 · 0 评论 -
C语言中降序qsort通用写法
降序排序:int cmp(const void* a,const void* b){ return *(int *)b - *(int *)a; }qsort(b,n,sizeof(int),cmp);原创 2021-03-12 00:00:47 · 650 阅读 · 0 评论 -
HDU1425简单排序题
这道题就是数据有点大,所以后面的几个程序是超时的,七种方法中通过了前面四种。方法一(Accept) #include<iostream>#include<algorithm>#include<cstring>#include<cmath>#include<map>#include<set>#include<vector>using namespace std;const int maxx=1e6+10;原创 2021-02-17 20:25:11 · 212 阅读 · 0 评论 -
HDU1040简单排序题
简单排序直接上代码:总共使用了九种方法解决这道题方法一: #include<iostream>#include<algorithm>#include<cmath>#include<cstring>using namespace std;const int maxx=1e3+10;int n,m;int a[maxx];int main(){ int t; cin>>t; while(t--){ cin>>n原创 2021-02-17 20:19:23 · 169 阅读 · 0 评论 -
HDU2083排序题
题意:给出一组只有X轴上的到原点的数据,然后求从某一点到其他个点之和最小。首先是对数据进行排序(从小到大排序),如果是奇数则考虑n/2这一点到其他点之和与n/2+1这一点到其他点之和进行比较大小,保存小的。偶数只须求n/2这一点到其他点之和就可以。原创 2021-02-17 19:57:39 · 133 阅读 · 0 评论