插入排序

 1 //插入排序
 2 #include <stdio.h>
 3 //先前自己写的
 4 void insertionSort01(int *array, int length)
 5 {
 6     int i = 0, j = 1, k = 0;
 7     int temp;
 8     
 9     while(i < length)
10     {
11         k = i;
12         j = i + 1;
13         while(k >= 0)
14         {
15             if(array[k] > array[j])
16             {
17                 temp = array[k];
18                 array[k] = array[j];
19                 array[j] = temp;
20 
21                 j = k;
22                 k--;
23             }else{
24                 break;
25             }
26         }
27         i++;
28     }
29 }
30 
31 //标准示例
32 void insertionSort02(int *array, int number_of_elements)
33 {
34     int iter, jter;
35     for(iter = 1; iter < number_of_elements; iter++)
36     {
37         int current_element = array[iter];
38         jter = iter - 1;
39         while(jter >= 0 && array[jter] > current_element)
40         {
41             array[jter+1] = array[jter];
42             jter--;
43         }
44         array[jter+1] = current_element;
45     }
46 
47 }
48 void printArray(int *array, int length)
49 {
50     int i;
51     for(i = 0; i < length; i++)
52     {
53         printf("%d ", array[i]);
54     }
55     printf("
");
56 }
57 
58 int main(void)
59 {
60     int a[] = {3, 4, 6, 8, 1, 0, 3, -1};
61     int length = 8;
62     insertionSort02(a, length);
63     printArray(a, length);    
64     return 0;
65 }
终于明白,“喜欢”是一种莫大的能量!
原文地址:https://www.cnblogs.com/tml839720759/p/3374508.html