c 언어 두 개의 질서 있 는 배열 이 합 쳐 집 니 다.
입력 입력 은 두 줄 이 있 습 니 다. 첫 번 째 줄 은 먼저 정수 m 이 고 그 다음 에 m 개의 정수 입 니 다.두 번 째 줄 은 먼저 하나의 정수 n 이 고 그 다음 에 n 개의 정수, m, n 은 모두 1000000 보다 작다.
출력 을 합 친 m + n 개의 정 수 를 출력 하고 데이터 사 이 를 빈 칸 으로 구분 합 니 다.출력 이 한 줄 을 차지한다.
샘플 입력 Copy 4 1, 2, 5, 7, 3, 6, 42 샘플 출력 Copy 7, 6, 5, 4, 2, 1 정렬 을 시도 하 는 아이들 조심 하 세 요 ~ ~ ~ ~ ~ ~ * * * /!!!!함수 에서 배열 크기 를 정의 할 수 없 으 면 스 택 이 넘 칠 수 있 습 니 다.둘째, 거품 이 생기 거나 선택 한 정렬 방식 을 사용 할 수 없다. 이중 순환 은 시간 을 초과 할 수 있 기 때문이다.
#include
#include
#define N 2000000
//
// for 。 。
int c[N];// , 。
int a[N/2],b[N/2];
int main()
{
int m,n,i;
scanf("%d",&m);
for(i = m-1; i>= 0; i--)
{
scanf("%d",&a[i]);
}// a
scanf("%d",&n);
for( i = 0; i<n; i++)
{
scanf("%d",&b[i]);
}// b
// , ,
int j,k;
i = 0;j = 0;k = 0;
while ( i < m && j < n)
{
if( a[i]>= b[j])// ,
c[k++] = a[i++];
// , a,b
// a , a c
else
c[k++] = b[j++];// b , b c
}
while (i < m)// while a b
// 。
c[k++] = a[i++];
while (j < n)
c[k++] = b[j++];
for ( i = 0;i<m+n;i++)
{
printf("%d ",c[i]);
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.