zoukankan      html  css  js  c++  java
  • 插入排序的C语言实现

     1 /*-----------------------------
     2 *
     3 * For    排序算法学习
     4 * IDE    DEV-CPP4.9.2
     5 * Auhtor  Cao
     6 * Date   2012/10/17
     7 *------------------------------
     8 */
     9 #include <stdlib.h>
    10 #include <stdio.h>
    11 //插入排序
    12 void insertSort(int* arr,size_t n)      
    13 {
    14      
    15       int i,j,key;
    16       for(i=1;i<n;i++)                      //初始:ar={169,45,2,489,469,4,-778,156}
    17       {                                    
    18           key = arr[i];                 
    19           j=i-1;
    20           while(j>=0&&arr[j]>key)          //把key与前面的arr[0~j]进行比较  
    21                   arr[j+1] = arr[j--];     //找到一个比key大的数就把它后移 
    22           arr[j+1]=key;                    //上面的循环终止,则j+1就key的位置  
    23       }  
    24       /*
    25       *Loop0:169,45,2,489,469,4,-778,156  数组原型  取key=arr[2]=2 
    26       *Loop1:2,169,45,489,469,4,-778,156  key=2比arr[1] arr[0]小,找到arr[2]的位置arr[0]->
    27       *Lopp3:2,169,45,469,489,4,-778,156  进行插入和ArrayList的insert(value,index)一样 
    28       *Loop4:2,169,45,469,489,4,-778,156  .......
    29       *Loop5:2,4,169,45,469,489,-778,156  ...
    30       *Loop6:-778,2,4,169,45,469,489,156  ...
    31       *Loop7:-778,2,4,156,169,45,469,489  ...
    32       */
    33 } 
    34 
    35  int main(int argc, char *argv[])
    36  {
    37      int arr[] = {169,45,2,489,469,4,-778,156};
    38      size_t len = (sizeof arr/sizeof arr[0]);
    39      insertSort(arr,len);
    40      int i;
    41      for(i=0;i<len;i++)
    42      {
    43          printf("%d ,",arr[i]);               
    44      }
    45      //====>-778,2,4,156,169,45,469,489
    46      getchar();
    47      return 0;
    48  }
  • 相关阅读:
    70.BOM
    69.捕获错误try catch
    68.键盘事件
    523. Continuous Subarray Sum
    901. Online Stock Span
    547. Friend Circles
    162. Find Peak Element
    1008. Construct Binary Search Tree from Preorder Traversal
    889. Construct Binary Tree from Preorder and Postorder Traversal
    106. Construct Binary Tree from Inorder and Postorder Traversal
  • 原文地址:https://www.cnblogs.com/czpblog/p/3134597.html
Copyright © 2011-2022 走看看