C 언어 | 힐 정렬

예 100: 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; // } }

컴 파일 실행 결과:
   1010 8 7 6 3 1 0 2 4 510    8    7    6    3    1    0    2    4    50    1    2    3    4    5    6    7    8   10

--------------------------------
Process exited after 16.17 seconds with return value 0
       . . .

이상, 당신 이 당신 에 게 도움 이 된다 고 생각 되면 샤 오 린 에 게 칭찬 을 하고 주변 사람들 에 게 바 를 나 누 어 줍 니 다. 그러면 샤 오 린 도 새로운 동력 을 가지 고 부모님 과 마을 사람들 에 게 무릎 을 꿇 고 감 사 를 드 립 니 다 ~
더 많은 사례 는 go 공인 번호 'C 언어 입문 부터 정통 까지' 를 사용 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기