C 언어 분 치 법 은 병합 정렬 을 실현 한다.
병합 정렬 의 기본 사상:
두 개 와 그 이상 의 질서 표를 하나의 질서 표 로 합 쳐 정렬 대기 서열 을 분 치 법 을 통 해 몇 개의 질서 있 는 하위 서열 로 나 눈 다음 에 두 개의 하위 서열 을 하나의 하위 서열 로 합 친 다음 에 여러 번 합 친 후에 질서 있 는 표 로 통합 시킨다.
정렬 과정 그림:
코드 는 다음 과 같 습 니 다:
#include "stdio.h"
#define MAX 100
int is1[MAX],is2[MAX];// is1, is2
void merge(int low,int mid,int high){
int i=low,j=mid+1,k=low;
while(i<=mid&&j<=high)
if(is1[i]<is1[j])
is2[k++]=is1[i++];
else
is2[k++]=is1[j++];
while(i<=mid)
is2[k++]=is1[i++];
while (j<=high)
is2[k++]=is1[j++];
for ( i = low; i <=high ; i++) {
is1[i]=is2[i];
printf("%5d",is1[i]);
}
printf("
");
}
void mergeSort(int a, int b){
if(a<b){
int mid=(a+b)/2;
mergeSort(a,mid);
mergeSort(mid+1,b);
merge(a,mid,b);
}
}
void main(){
int i,n;
printf(" :");
scanf("%d",&n);
printf(" :
");
for ( i = 1; i <=n ; ++i) {
scanf("%d",&is1[i]);
}
mergeSort(1,n);
printf(" :
");
for ( i = 1; i <=n ; ++i) {
printf("%4d",is1[i]);
}
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어 체인 시계는 뱀을 탐식하는 작은 게임을 실현한다본고의 실례는 여러분에게 C 언어 체인표가 뱀 탐식 게임을 실현하는 구체적인 코드를 공유하여 참고하도록 하였으며, 구체적인 내용은 다음과 같다. 프로젝트 이름: 뱀놀이 운영 환경: Linux 프로그래밍 언어: C 언...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.