2109 - 여자친 구 찾기
5259 단어 데이터 구조 - 내부 정렬
Problem Description
산동이공대학 에는 많은 학생 들 이 있 습 니 다. 물론 많은 미녀 들 도 있 습 니 다. 기계 실험 반 의 학 위 (별명: 대 왕 팔) 는 여자 친 구 를 찾 고 싶 지만 키 가 자신 과 어 울 리 는 여 자 를 여자친 구 로 만 들 고 싶 습 니 다. 현재 이 공 대 N 미녀 의 키 데 이 터 는 있 지만 N 의 가치 가 크기 때문에 적당 한 여 자 를 빨리 찾기 위해 서 입 니 다.대왕 팔 은 이 N 명의 미녀 의 키 순 서 를 완성 하고 내림차 순 으로 배열 해 달라 고 부탁 했다.
Input
입력 은 두 줄 을 포함 하고 첫 번 째 줄 은 정수 N (N < = 1000000) 으로 이 공 대 총 N 명의 미녀 를 나타 낸다.두 번 째 줄 에는 N 개의 정수 가 있 는데 각각 N 명의 미녀 의 키 를 나타 내 고 각 정수 의 수 치 는 10 ^ 9 를 초과 하지 않 습 니 다.(입력 한 데이터 사 이 를 빈 칸 으로 구분 합 니 다)
Output
출력 은 한 줄 만 있 습 니 다. 이 N 개 수의 내림차 순 으로 숫자 와 숫자 사 이 를 빈 칸 으로 구분 합 니 다.
Example Input
5 1 3 2 5 4
Example Output
5 4 3 2 1
#include
int a[1100000];
void sort(int low,int high)
{
int i=low;
int j=high;
int key=a[low];
if(low>high)
return ;
while(iwhile(i=a[j])
j--;
a[i]=a[j];
while(isort(low,i-1);
sort(i+1,high);
}
int main()
{
int n,i,j;
scanf("%d",&n);
for(i=0;i"%d",&a[i]);
sort(0,n-1);
for(i=0;iif(i==0)
printf("%d",a[i]);
else
printf(" %d",a[i]);
}
printf("
");
return 0;
}
#include
int a[1100000];
int kuaipai(int low,int high)
{
int i=low;
int j=high;
int temp;
while(iwhile(i=a[j])
j--;
if(iwhile(i=a[j])
i++;
if(ireturn i;
}
void sort(int first,int end)
{
int quick;
if(firstsort(first,quick-1);
sort(quick+1,end);
}
}
int main()
{
int n,i,j;
scanf("%d",&n);
for(i=0;i"%d",&a[i]);
sort(0,n-1);
for(j=0;jif(j==0)
printf("%d",a[j]);
else
printf(" %d",a[j]);
}
printf("
");
return 0;
}