1045 快速排序
来源:互联网 发布:维修基金算法 编辑:程序博客网 时间:2024/06/06 03:46
#include<stdio.h>
#include<stdlib.h>
int comp(const void * a,const void * b)
{
return *(int *)a- *(int *)b;
}
int main()
{
int n,i,j,k,g=0;
int * a;
int * b;
int tag;
scanf("%d",&n);
a=(int *)malloc(n*sizeof(int));
b=(int *)malloc(n*sizeof(int));
for(i=0;i<n;i++)
scanf("%d",a+i);
for(i=0;i<n;i++)
{
tag=0;
for(j=0;j<i;j++)
if(a[j]>a[i])
{
tag=1;
break;
}
if(!tag)
{
for(k=i+1;k<n;k++)
if(a[k]<a[i])
{
tag=1;
break;
}
}
if(!tag)
{
b[g]=a[i];
g++;
}
}
printf("%d\n",g);
qsort(a,g+1,sizeof(int),comp);
for(i=0;i<g;i++)
i==g-1?printf("%d\n",b[i]) : printf("%d ",b[i]);
return 0;
}
#include<stdlib.h>
int comp(const void * a,const void * b)
{
return *(int *)a- *(int *)b;
}
int main()
{
int n,i,j,k,g=0;
int * a;
int * b;
int tag;
scanf("%d",&n);
a=(int *)malloc(n*sizeof(int));
b=(int *)malloc(n*sizeof(int));
for(i=0;i<n;i++)
scanf("%d",a+i);
for(i=0;i<n;i++)
{
tag=0;
for(j=0;j<i;j++)
if(a[j]>a[i])
{
tag=1;
break;
}
if(!tag)
{
for(k=i+1;k<n;k++)
if(a[k]<a[i])
{
tag=1;
break;
}
}
if(!tag)
{
b[g]=a[i];
g++;
}
}
printf("%d\n",g);
qsort(a,g+1,sizeof(int),comp);
for(i=0;i<g;i++)
i==g-1?printf("%d\n",b[i]) : printf("%d ",b[i]);
return 0;
}
0 0
- 1045_快速排序
- 1045 快速排序
- PAT 1045 快速排序
- 1045 快速排序
- 快速排序(PAT-1045)
- PAT乙级1045 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 常用排序算法总结8一一基数排序
- window对象的常用方法
- 多路径 TCP
- numpy.Scalars
- oracle直方图和执行计划
- 1045 快速排序
- C++ STL map 遍历
- redis集群环境搭建以及java中jedis客户端集群代码实现 博客分类: redis
- 重启网卡
- Mac OS X 疑难杂症(一)
- STL底层实现
- [杂记]各种编程语言的注释
- js 时间计算
- 股神