데이터 구조 (5) 의 직접 삽입 정렬

8069 단어 데이터 구조
다음은 나의 작은 코드 입 니 다.
 1 /*
 2            :                                     ,
 3 
 4  5 
 6               ,                 ,        ,      , 
 7   
 8                    ,              ,          ,    
 9 
10       ,           。
11 */
12 
13 #include <stdio.h>
14 
15 void main(){
16    int array[2000];
17    int numberCount;
18    int i;
19    int j;
20    int comperCount=0;//
21 
22    printf("           (   )     -9999        !

"); 23 for(i=1;i<2000;i++){// 1 ,0 24 scanf("%d",&array[i]); 25 if(array[i]==-9999){break;} 26 } 27 28 numberCount=i-1; 29 printf("

:%d !
",numberCount); 30 31 // , , , 32 // 33 for(i=2;i<=numberCount;i++){// 2 , 34 if(array[i]<array[i-1]){ 35 array[0]=array[i]; 36 j=i-1; 37 do{ 38 array[j+1]=array[j];// j+1 j++, 39 j--; 40 comperCount++; 41 }while(array[0]<array[j]); 42 array[j+1]=array[0];// 43 } 44 } 45 46 printf("



"); 47 for(i=1;i<=numberCount;i++){ 48 printf("%d ",array[i]); 49 } 50 51 printf("



"); 52 for(i=numberCount;i>=1;i--){ 53 printf("%d ",array[i]); 54 } 55 56 printf("

:%d !

",comperCount); 57 }

     코드 에 주석 은 정렬 을 직접 삽입 하 는 기본 사상 과 코드 를 작성 할 때 주의해 야 할 부분 을 비교적 명확 하 게 지적 하 였 습 니 다. 다음 에 볼 때 전체 코드 를 쉽게 이해 할 수 있 을 것 입 니 다!

좋은 웹페이지 즐겨찾기