데이터 구조 (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 }
코드 에 주석 은 정렬 을 직접 삽입 하 는 기본 사상 과 코드 를 작성 할 때 주의해 야 할 부분 을 비교적 명확 하 게 지적 하 였 습 니 다. 다음 에 볼 때 전체 코드 를 쉽게 이해 할 수 있 을 것 입 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.