C 언어 | 힐 정렬
12080 단어 C 언어 사례 소스 코드c 언어
문제 풀이 방향: 힐 정렬 은 정렬 을 삽입 하 는 일종 의 축소 증 량 정렬 이 라 고도 부 르 며 정렬 알고리즘 을 직접 삽입 하 는 더욱 효율 적 인 개선 버 전 입 니 다. 힐 정렬 은 비 안정 적 인 정렬 알고리즘 입 니 다.힐 정렬 은 기록 을 아래 표 시 된 일정한 증분 으로 나 누 어 각 그룹 에 정렬 알고리즘 을 직접 삽입 하여 정렬 하 는 것 입 니 다.증분 이 점점 줄 어 들 면서 각 그룹 에 포 함 된 키워드 가 점점 많아 지고 증분 이 1 로 줄 어 들 면 전체 파일 이 한 그룹 으로 나 뉘 어 알고리즘 이 종 료 됩 니 다.
C 언어 소스 코드 데모:
#include //
int main()//
{
void shsort(int s[],int n); //
int array[11],i;//
printf(" 10 :
");//
for(i=1;i<=10;i++)
{
scanf("%d",&array[i]); // 10
}
printf(" :
");//
for(i=1;i<11;i++)
{
printf("%5d",array[i]);// 10
}
shsort(array,10);//
printf("
:
");//
for(i=1;i<11;i++)
{
printf("%5d",array[i]);// 10
}
printf("
"); //
return 0;// 0
}
void shsort(int s[],int n)
{
int i,j,d;
d=n/2;
while(d>=1) //
{
for(i=d+1;i<=n;i++) // d+1
{
s[0]=s[i]; //
j=i-d; //
while((j>0)&&(s[0]<s[j]))
{
s[j+d]=s[j]; //
j=j-d; // d
}
s[j+d]=s[0]; // s[i]
}
d=d/2; //
}
}
컴 파일 실행 결과:
10 :
10 8 7 6 3 1 0 2 4 5
:
10 8 7 6 3 1 0 2 4 5
:
0 1 2 3 4 5 6 7 8 10
--------------------------------
Process exited after 16.17 seconds with return value 0
. . .
이상, 당신 이 당신 에 게 도움 이 된다 고 생각 되면 샤 오 린 에 게 칭찬 을 하고 주변 사람들 에 게 바 를 나 누 어 줍 니 다. 그러면 샤 오 린 도 새로운 동력 을 가지 고 부모님 과 마을 사람들 에 게 무릎 을 꿇 고 감 사 를 드 립 니 다 ~
더 많은 사례 는 go 공인 번호 'C 언어 입문 부터 정통 까지' 를 사용 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어 | 힐 정렬예 100: C 언어 로 힐 정렬 을 실현 합 니 다. 문제 풀이 방향: 힐 정렬 은 정렬 을 삽입 하 는 일종 의 축소 증 량 정렬 이 라 고도 부 르 며 정렬 알고리즘 을 직접 삽입 하 는 더욱 효율 적 인 개선...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.