当前位置: 代码迷 >> 综合 >> PAT (Basic Level) Practice (中文) 1045 快速排序 (25分)
  详细解决方案

PAT (Basic Level) Practice (中文) 1045 快速排序 (25分)

热度:63   发布时间:2024-01-25 15:56:30.0

 

 

题目链接

 

 

代码:

#include<stdio.h>
#include<stdlib.h> 
int cmp(const void *a,const void *b){return (*(int *)a-*(int *)b);
}
int main()
{int max=0,n,a1[100000],a2[100000],a3[100000],b,c=0,d=0;scanf("%d",&n);for(b=0;b<n;b++){scanf("%d",&a1[b]);a2[b]=a1[b];}qsort(a1,n,sizeof(a1[0]),cmp);for(b=0;b<n;b++){if(a1[b]==a2[b]&&a1[b]>max)a3[d++]=a2[b];if(a2[b]>max)max=a2[b];}printf("%d\n",d);for(b=0;b<d;b++){if(b!=0)printf(" ");printf("%d",a3[b]);}printf("\n");return 0;
}

 

  相关解决方案